4

swiftmailerのチェックアウトを最新バージョン4.3.0に更新しました。次の非常に単純なコードは機能しなくなり、接続がタイムアウトします。

<? 
require_once 'Swift-4.3.0/lib/swift_required.php';

$transport = Swift_SmtpTransport::newInstance('email-smtp.us-east-1.amazonaws.com',465, 'tls')
  ->setUsername('USERNAME')
  ->setPassword('PASSWORD')
  ;
$mailer = Swift_Mailer::newInstance($transport);

// Create a message
$message = Swift_Message::newInstance('Yo')
  ->setFrom(array('jnankin@gmail.com' => 'Josh'))
  ->setTo(array('jnankin@gmail.com'))
  ->setBody('Here is the message itself')
  ;

$result = $mailer->send($message);

次に、次のようになります。

PHP Fatal error:  Uncaught exception 'Swift_IoException' with message 'Connection to tcp://email-smtp.us-east-1.amazonaws.com:465 Timed Out' in /home/jnankin/Desktop/Swift-4.3.0/lib/classes/Swift/Transport/StreamBuffer.php:169
Stack trace:
#0 /home/jnankin/Desktop/Swift-4.3.0/lib/classes/Swift/Transport/AbstractSmtpTransport.php(400): Swift_Transport_StreamBuffer->readLine(0)
#1 /home/jnankin/Desktop/Swift-4.3.0/lib/classes/Swift/Transport/AbstractSmtpTransport.php(291): Swift_Transport_AbstractSmtpTransport->_getFullResponse(0)
#2 /home/jnankin/Desktop/Swift-4.3.0/lib/classes/Swift/Transport/AbstractSmtpTransport.php(119): Swift_Transport_AbstractSmtpTransport->_readGreeting()
#3 /home/jnankin/Desktop/Swift-4.3.0/lib/classes/Swift/Mailer.php(80): Swift_Transport_AbstractSmtpTransport->start()
#4 /home/jnankin/Desktop/email.php(17): Swift_Mailer->send(Object(Swift_Message))
#5 {main}
  thrown in /home/jnankin/Desktop/Swift-4.3.0/lib/classes/Swift/Transport/StreamBuffer.php on line 169

更新:これとまったく同じコード(変更なし)はバージョン4.1.2で機能します。バージョン4.1.3これは機能しなくなりました。mailgun、sendgridなどのさまざまなSMTPサーバーを試しました...これはswiftmailer固有のようです。

4

1 に答える 1

15

バージョン 4.1.3 以降、swiftmailer に starttls サポートが追加されたようです。バージョン 4.1.2 以前では、ポート 465 を使用し、暗号化方式として「tls」を指定すると正常に機能しました。ただし、4.1.3 は tls ラッパーの使用をサポートしておらず、starttls のみを許可しているようです。つまり、「tls」は「tls ラッパー」を意味するのではなく、「starttls」を意味するようになりました。したがって、ポートを465ではなく587に変更すると(SESのドキュメントではstarttls接続に使用する必要があると記載されているため)、問題が解決しました。

swiftmailer imhoによる非常に悪い動き。

于 2013-02-26T16:24:05.190 に答える