9

ここに私のPHPコードがあります:

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);
    */ 
}

エラーは次のとおりです。

( ! ) 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

問題はどこだ??

アップデート:

確認phpinfo()したところ、次のように書かれています。

OpenSSL support     disabled (install ext/openssl) 

以下のリンクを参考にしましたが、sslのインストールができませんでした...

4

7 に答える 7

16

私は同様の質問を探していましたが、php.iniファイルを編集する必要があることがわかりました。次の行を編集してください

;extension=php_openssl.dll

セミコロンを削除すると、正常に機能します

それが他の誰かを助けることを願っています:)

于 2011-12-17T09:00:45.207 に答える
3

あなたのphpはSSLをサポートしていましたか?http://php.net/manual/en/function.fsockopen.php 、参照用にhttp://www.php.net/manual/en/openssl.installation.phpを確認してください。

でページを作成

phpinfo();

SSL は有効になっていますか?

于 2011-01-31T00:29:54.453 に答える
2

gmailはconfig.ymlでこれを必要とします

swiftmailer: 暗号化: TLS

またはあなたを置き換えます: ->setEncryption('ssl') by ->setEncryption('tls')

SSLではありません

于 2013-01-06T16:45:12.637 に答える
1

PHP 拡張機能から php_openssl モジュールを有効にする必要があります。php.iniファイルを編集するだけです

extension=php_openssl.dll
于 2013-01-05T17:57:23.633 に答える
1

実際、次の構文を使用して、ポート 25 テストで tls を使用することをお勧めします。

$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 25, 'tls')
    ->setUsername('007@gmail.com')
    ->setPassword('123');
于 2013-10-22T13:54:26.250 に答える
0

問題が解決したことを願っていますが、私にとっては次のとおりです。

;extension=php_openssl.dll

私のphp.iniには存在しませんでした(Win7でXAMPP 1.7.7を実行しています)ので、先に進んで拡張機能セクションに追加し、セミコロンを削除すると機能するはずです。

于 2012-06-02T19:14:19.950 に答える
0

SSLで動作するようにphpを設定する必要があります

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

于 2011-01-31T00:43:05.550 に答える