1

メール通信アプリケーションに Spring JavaMail を使用しています。間違ったメールアドレスが原因でメール配信が失敗した場合の機能をどのように実現できますか?

4

2 に答える 2

3

これを確実に達成することは簡単ではありません。RFC 821 の SMTP のプロトコル仕様では、多数のリターン コードが指定されています。特に 550 は、存在しないアドレスに電子メールを送信しようとしたときに SMTP サーバーが返すべき値です。ほとんどの公開 SMTP サーバーはこれを行わないため、メッセージを静かに受け入れてからドロップするか、もう少し礼儀正しい場合はメッセージを受け入れますが、「配信失敗」通知を送り返します。送信者 (「差出人」アドレス) へ。MSN や Gmail などの公共サービスも、存在しないアドレスに十分な量の電子メールを送信してスパムを防止する場合、送信者をブラックリストに登録します。

これは、電子メール フィッシングやスパムを防止するためです。

だからあなたができることは

  1. SendFailedExceptionコードで確認してください。これは、SMTP 仕様に従い、実際にエラー コードを送り返すサーバーに対してのみ機能します。私が言ったように、実際にこれを行う公開サーバーはほとんどありません。
  2. 送信者として使用するアドレスに適切なメールボックスを設定し、その受信トレイで配信失敗の通知を監視します。これらは一般的なパターンに従う必要はないと考えられていることに注意してください。
  3. 通知を行わない電子メール サーバーの場合、実際に知る方法はありません。

これは、直帰率などを測定するためにこれらすべてがすでに構築されているため、企業が専用のプロバイダーから大量の電子メール サービスを購入する理由の 1 つです。

于 2012-10-01T09:17:20.637 に答える