2016-05-05 14 views
1

SwiftMailerクラスライブラリを使用してPHPスクリプト内のメールを送信したいと考えています。PHPでSwiftmailerライブラリを使用してSTARTTLSと自己署名証明書を使用してメールを送信する方法

MailserverはSTARTTLSコマンドを提供し、自己署名証明書を使用します。

問題は、SwiftMailerがメールを送信する際に問題と思われることです。

私は単にトランスポートを初期化するために、このようなcoeeを使用する場合は:

Uncaught Swift_TransportException: Unable to connect with TLS encryption 

私はすでにここと他の場所で検索:

$transport = Swift_SmtpTransport::newInstance("server.example.com", 25, "tls") 
->setUsername("[email protected]") 
->setPassword("example"); 

このエラーショーです。私はStackOverflowの上ここにこのスレッドを見つけました:

->setStreamOptions(array('ssl' => array('allow_self_signed' => true, 'verify_peer' => false))); 

このような完全なルックスでブロック:

$transport = Swift_SmtpTransport::newInstance("server.example.com", 25, "tls") 
->setUsername("[email protected]") 
->setPassword("example") 
->setStreamOptions(array('ssl' => array('allow_self_signed' => true, 'verify_peer' => false))); 

I PHP - Swiftmailer using STARTTLS and self signed certificates

をしかし、私はこのように上記のコードに言及したメソッドを追加するときこのエラーが発生しています:

Call to undefined method setStreamOptions 

odが削除または名前変更されました。私はSwiftMailerのドキュメントでこれについて何も言わなかった。ライブラリにパッチを当てるためにウェブ上で述べられている解決策はほんのわずかです。ライブラリコードを変更したくないので、私はこれらの方法をチェックしません。

My SwiftMailerのバージョンは実際の5.4.2です。ライブラリにパッチを当てることなくこの問題を解決する方法はありますか?そうする必要がある場合は、どうすればよいでしょうか。

誰かが私を助けてくれることを願っています。

最高のお礼

P.S.私は大丈夫だと思っています。私の英語は理解できます。ご不明な点がございましたら、お問い合わせください。

答えて

0

私はこれに遅れていますが、最新のswiftmailerバージョンにアップグレードすると、問題が解決します。私はバージョン5.4.1を持っていて、動作させるために5.4.6に切り替えました。

関連する問題