web-dev-qa-db-ja.com

無効なメールアドレスを処理する方法は?

私のサーバーはWindowsServer2003です。サブスクライバーの膨大なリストを取得しました。それらの多くには、user @ yahoooooo.com、user @ gmailyahoo.com、user @ homail.comなどの無効なメールがあります...

すべてのユーザーにメールを送信したいのですが、無効なメールにも送信されます。したがって、バウンスメールが作成されます。それらのバウンスメールを処理する方法は?私が従うことができる良いチュートリアルはありますか?

1
mcfadder_09

私の会社には、 ListNanny というサードパーティコンポーネントを使用して.NETで記述された小さなツールがあります。これは、SMTP BadmailフォルダーまたはNDR(Non-DeliverableReportsまたはNon-DeliverableReceipts)内のバウンスバック電子メールを分類および解析するために使用されます。

NDRにはサーバータイプがあり、それぞれの場合にメーリングリストの特定のアドレスに対して何をするかを決定する必要があることに注意する必要があります。主な違いは「ハードバウンス」と「ソフトバウンス」です。ハードバウンスは、「不明なユーザー」などの永続的なエラーです。ソフトバウンスは、「メールボックスがいっぱい」などのように一時的に発生します。

解析できるものの例を次に示します。

  • HardBounce:サーバーはメッセージを配信できませんでした(例:不明なユーザー、メールボックスが見つかりません)
  • 一時的:サーバーはメッセージを一時的に配信できませんでした
  • 登録解除:登録解除またはリクエストの削除
  • 購読:メーリングリストに追加したい人からの購読要求。
  • AutoResponder:自動電子メールレスポンダー(例:「不在」または「休暇中」)
  • AddressChange:受信者がアドレス変更をリクエストしました。
  • DnsError:一時的なDNSエラー。
  • ChallengeVerification:バウンスは、実際にメールを送信したことの確認を求めるチャレンジです。典型的な課題は、スパム逮捕、またはMailFrontierMatadorによって行われます。
  • SpamNotification:メッセージは配信されましたが、ユーザーによってブロックされたか、スパム、バルクメールとして分類されたか、コンテンツが拒否されました。
  • OpenRelayTest:NDRは、実際には、メールサーバーがオープンリレーであるかどうかを確認するためのテスト電子メールメッセージです。
  • 不明:NDRを分類できません
  • SoftBounce:メッセージを一時的に配信できません(つまり、メールボックスがいっぱい、アカウントが無効、クォータを超えている、ディスク容量が不足しています)
  • VirusNotification:バウンスは、実際にはウイルス/コードに感染したメッセージに関するウイルス通知警告です。
4
splattne

私の会社では、NDRをメールボックスに配信してそこから雑草を取り除くことは可能ですが、サードパーティのツールを使用して、メーリングリストに送信する前にその有効性を確認しています。これは、私たちが作成するNDRの数を減らすのに役立ちます(明らかに完全ではありません-何もありません)が、大いに役立ちます。

プログラムはGLockSoftwares Advanced E-Mail Verifier Proで、99ドルで、仕事に比べて安いです。

私見では、NDRを処理するよりも、そもそもNDRを生成しない方がよいでしょう。

3

それはあなたがメーラーに何を使っているかに大きく依存します。あなたから 他の質問 私はあなたがそれが正確に何であるかを知らないと思っています。多くの非配信レポート(電子メール用語ではNDR)を処理することがわかっている場合は、From:アドレスを非常に大きなサイズに拡大できるメールボックスに設定します。その後、おそらくそれを通過し、リストから悪いアドレスを取り除くことができます。ただし、メーラーの内容によっては、それよりも多くのオプションがある場合があります。

0
sysadmin1138

Javascript ASP source at CoverYourASP と、説明記事へのリンクがあります。

この ハッキングされた 記事も良い読み物かもしれません。

0
nik

それをカバーするのにとても簡単なPerlモジュール: Email :: Valid "このモジュールは、電子メールアドレスが整形式であるかどうか、そしてオプションで、ドメインにメールホストが存在するかどうかを決定します。"

ただし、その成果物を決してテストするものではありません。

0
Brendan

バウンスされた電子メールの処理を検討し、処理の結果を使用して、それに応じて電子メールアドレスを更新する必要があります。これは、悪い電子メールアドレスに複数回送信しないことを意味し、受信者のメールボックスがいっぱいであるためにバウンスメールなどの一般的な状況を管理できるはずです。無料でphpを使用する簡単な解決策は次のとおりです。

http://phpmailer.worxware.com/index.php?pg=bmh

0
AndrewNimmo