4

Swift_SmtpTransport を使用してメールを送信しようとしていますが、次のエラーが表示されます。

501 5.5.2 <[::1]>: Helo コマンドが拒否されました: 無効な IP アドレス

SMTP サーバーはリモート サーバーであり、本番サーバーからは機能しますが、OS X を実行している開発マシンからは機能しません。

また、わざわざ例外をスローする必要はありません。代わりに、ロガー プラグインを使用して、動作しない理由を調べる必要がありました。

実際の IP アドレスを使用するにはどうすればよいですか?

4

1 に答える 1

4

私はコードをいじくり回して、それを見つけました。

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のバグだと思います。各受信者を単に「失敗」としてリストするのではなく、このような例外をスローする必要があります。

于 2010-12-06T01:18:41.210 に答える