SwiftMailer SMTPトランスポートローカルIPアドレスを拒否します

StackOverflow https://stackoverflow.com/questions/4362417

  •  09-10-2019
  •  | 
  •  

質問

swift_smtptransportを使用してメールを送信しようとしていますが、次のエラーが発生します。

501 5.5.2 <[:: 1]>:heloコマンド拒否:無効なIPアドレス

SMTPサーバーはリモートサーバーであり、私の生産サーバーから動作しますが、OS Xを実行している開発マシンではありません。

また、例外をスローすることも気にしません。代わりに、ロガープラグインを使用して、なぜ機能していなかったのかを調べる必要がありました。

実際のIPアドレスを使用するために何ができますか?

役に立ちましたか?

解決

私はコードでいくつかを突っ込んで、それを見つけました。

SMTPトランスポートを構成するときは、SetLocalDomain()を呼び出す必要があります。 OS XでPHPを使用すると、これはリモートサーバーによって拒否される「:: 1」にデフォルトです。開発構成に行を追加して、次のことを設定しました。

$transport = Swift_SmtpTransport::newInstance('mail.pantsburger.com', 587);
if (SITE_ENV == SITE_ENV_DEV) {
    $transport->setLocalDomain('[127.0.0.1]');
}

これはSwiftMailerのバグでもあると思います。各受信者を「失敗」とするだけでなく、このようなものの例外をスローする必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top