![電子メールアドレスにメールを送信せずに、そのアドレスのバウンスバック/RFC ステータスを判定する](https://rvso.com/image/1452252/%E9%9B%BB%E5%AD%90%E3%83%A1%E3%83%BC%E3%83%AB%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%81%AB%E3%83%A1%E3%83%BC%E3%83%AB%E3%82%92%E9%80%81%E4%BF%A1%E3%81%9B%E3%81%9A%E3%81%AB%E3%80%81%E3%81%9D%E3%81%AE%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%81%AE%E3%83%90%E3%82%A6%E3%83%B3%E3%82%B9%E3%83%90%E3%83%83%E3%82%AF%2FRFC%20%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%E3%82%92%E5%88%A4%E5%AE%9A%E3%81%99%E3%82%8B.png)
何らかの理由でサーバーに拒否されたメールを送信すると、RFCステータスコードなど、メールが返送された理由に関する有用な情報を含むバウンスメッセージが返送されることがあります。実際にメールを送信せずに、pingのような方法で同じ情報を取得する方法はありますか?つまり、次のように言うことができます。仮にメールを送信する[メールアドレス]、それが跳ね返るかどうかを明確に知ることができますか? また、跳ね返る場合、跳ね返りはどのようなものになるでしょうか?
私には配布リストがあります。メッセージが返送された場合、宛先の受信者にフラグが付けられます。3 回連続でフラグが付けられた場合、その受信者にはメールを送信しません。その目的は、不正なアドレス宛てのメールを作成してキューに入れ、メール キューが詰まるのを防ぐためです。
禁止を「仮」にして、今後そのアドレスをテストして、まだバウンスするかどうかを確認したいと思います。相手の受信箱がいっぱいだっただけで、今は満杯ではないのかもしれません。あるいは、相手のサーバーが私の IP をブラックリストに登録していて、その後私がホワイトリストに登録されたのかもしれません。 実際にメールを送信せずにこれを確認する方法はありますか?再度バウンスすると、メール キューが引き続き詰まり、サーバーのリソースが浪費される可能性があり、これは避けたいところです。
qmail
を使用していますCentOS
。
答え1
唯一できることは、バウンス理由を確認して、存在しないユーザーまたはその他の「永続的な」理由 (メール アドレスが不正で、無期限に失敗し続ける可能性が高い) と一時的な理由 (受信トレイがいっぱいであるなど) を区別することです。一時的な理由の場合は、リソースを無駄にしないように徐々に増加する遅延スキームを使用して、定期的に再試行を続けることができますが、完全に諦めることはできません。
それ以外では、一時的な状態がまだ存在するかどうかがわからないため、再試行がバウンスするかどうかを確認できません。
詳細は以下をご覧ください:https://www.oasis-open.org/khelp/kmlm/user_help/html/how_email_works.html