문제

Here is my PHP code:

function SendCookieToTheMail()
{
    require_once 'swift-mailer/lib/swift_required.php';
    //Create the Transport
    $transport = Swift_SmtpTransport::newInstance('smtp.gmail.com')
      ->setPort(465)
      ->setEncryption('ssl')
      ->setUsername('007@gmail.com')
      ->setPassword('123')
      ;

    //Create the Mailer using your created Transport
    $mailer = Swift_Mailer::newInstance($transport);

    //Create a message
    $message = Swift_Message::newInstance('Test')
      ->setFrom(array('007@gmail.com' => 'From mr. 007'))
      ->setTo(array('007@gmail.com', '007@gmail.com' => 'To mr. 007'))
      ->setBody('Body')
      ;

    //Send the message
    $result = $mailer->send($message);

    /*
    You can alternatively use batchSend() to send the message

    $result = $mailer->batchSend($message);
    */ 
}

Here is the error:

( ! ) Warning: fsockopen() [function.fsockopen]: unable to connect to ssl://smtp.gmail.com:465 (Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP?) in C:\Program Files\wamp\www\swift-mailer\lib\classes\Swift\Transport\StreamBuffer.php on line 233

( ! ) Fatal error: Uncaught exception 'Swift_TransportException' with message 'Connection could not be established with host smtp.gmail.com [Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP? #44551400]' in C:\Program Files\wamp\www\swift-mailer\lib\classes\Swift\Transport\StreamBuffer.php on line 235

( ! ) Swift_TransportException: Connection could not be established with host smtp.gmail.com [Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP? #44551400] in C:\Program Files\wamp\www\swift-mailer\lib\classes\Swift\Transport\StreamBuffer.php on line 235

Where is the problem??

Update:

I checked phpinfo() and it says:

OpenSSL support     disabled (install ext/openssl) 

I referred to the links below, but I couldn't install ssl...

도움이 되었습니까?

해결책

Did your php support SSL ? http://php.net/manual/en/function.fsockopen.php, and check http://www.php.net/manual/en/openssl.installation.php for reference.

Create a page with

phpinfo();

Is SSL enabled?

다른 팁

i Was searching for a similar question and i found that you have to edit the php.ini file edit the following line

;extension=php_openssl.dll

remove the semi colon and it will work fine

Hope that help any one else :)

gmail need this in your config.yml

swiftmailer: encryption: tls

or replace your: ->setEncryption('ssl') by ->setEncryption('tls')

and not ssl

You should enable php_openssl module from php extensions. Just edit your php.ini file

extension=php_openssl.dll

in fact, I advice to use tls on port 25 test using the following syntax:

$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 25, 'tls')
    ->setUsername('007@gmail.com')
    ->setPassword('123');

You need to configure php to work with ssl

http://www.php.net/manual/en/openssl.installation.php

I hope that you have solved your issue, however for me line:

;extension=php_openssl.dll

did not exist in my php.ini (running XAMPP 1.7.7 on Win7), so just go ahead and add it in the extensions section, remove semicolon from it and it should work.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top