可能性の重複:
Swiftmailer 4 does not retrieve bounces as $failedRecipientsではSwiftMailer GmailのSMTPの失敗
私はSMTPを使ってGmailアカウントを通じて電子メールを送信するためにSwiftMailerを使用しています。
私はすべての設定を完全に完了しており、問題なくメールを送信できます。
documentationはsend()
が失敗した電子メールアドレスに、(私はそれ$failures
呼ばれました)何もメッセージが正常に送信されていない場合0
を返し、配列を移入すべきであると述べています。
私は見ています問題は、私は非existantアドレス([email protected]
)に電子メールを送信する場合、私はGmailからの応答を得ることです:
Mail Delivery Subsystem [email protected]
9:06 PM (6 minutes ago)
to me
Delivery to the following recipient failed permanently:
[email protected]
Technical details of permanent failure:
DNS Error: Domain name not found
----- Original message -----
をしかし、ではSwiftMailerはまだ1(1のメッセージを返します。正常に送信されました)、$failures
配列は空のままです。
接続はSSLで暗号化されているので、私はwiresharkでパケットを盗聴して見ることはできません。
私の勘違いは、GMailのSMTPサーバーが失敗に関する電子メールを生成して送信アドレスに送信する間、成功を返すということです。
これは間違いありませんか?もしそうなら、PHPの失敗をキャッチする方法はありますか?
Swiftmailerはメールのみを送信します。後でエラーメッセージが表示され、Swiftmailerはそれらをチェックしません。 – hakre
ちょうどヒント:実際に電子メールを送信する前に、そのドメインのMX DNSレコードが存在するかどうか確認できます:http://www.php.net/manual/en/function.checkdnsrr.php – JuCachalot