質問

バウンスされた電子メールとバウンスの理由をチェックするソフトウェアまたは .NET ライブラリをお勧めできる人はいますか?Pop3 アカウントにバウンスされた電子メールを受信すると、それを読むことができます。

ユーザーデータベースを無効な電子メールアドレスからクリーンに保つために必要であり、これを自動化したい(ユーザーを無効な電子メールとしてマークする)必要があります。

役に立ちましたか?

解決

私はさまざまな種類のバウンスメールを処理する多くの仕事をしてきました。見ているメールが確かに特定の種類のバウンスであることを確実に知りたい場合は、適切なフィルターを入手することを強くお勧めします。私は一緒に仕事をしました ブギーツール そしてそれはとてもうまくいきました。これにより、ハード、ソフト、一時的なバウンスの種類や、誰かが購読を解除しようとしているかどうかがわかります。.Net を含む複数の API があり、非常に簡単に動作することがわかりました。

他のヒント

として アフォ 言う, 、POP3 プロトコルは非常にシンプルで、メッセージを取得するのは簡単です。メッセージを解析して失敗を取得するのはさらに難しく、どの電子メールが失敗の原因となったのか、なぜ失敗したのかを確実に解析するのは非常に困難です。問題は、バウンス メッセージには標準の形式がなく、デフォルトの形式が MTA ごとに異なることです。その後、サイト管理者が失敗の理由を微調整して認識しにくくすることができ、サイト管理者が失敗のメッセージ テンプレートを変更して、失敗をほぼ不可能にすることができます。

.NET メーリング リスト マネージャーが見つかるかどうか、またバウンス処理コードを再利用できるかどうかを確認してください。それができない場合は、メッセージを送信しているツールを変更して、一意の (そして元に戻すことができる) エンベロープ送信者 (VERP と呼ばれていると思いますか?) から各メールを送信できるかどうかを確認してください。そうすれば、電子メールの本文をスキャンする必要がなく、失敗メッセージの受信者アドレスを調べることで、どの受信者が失敗したかを知ることができます。

TcpClient を使用すると非常に簡単に実行できます。サーバーを開きます。

TcpClient tcpClient = new TcpClient();
tcpClient.Connect(POP3Server, POP3Port);
NetworkStream stream = tcpClient.GetStream();

ウェルカム メッセージを読みます。

int read = stream.Read(inBuffer, 0, inBuffer.Length);
string response = Encoding.ASCII.GetString(inBuffer, 0, read);
if (response.IndexOf("+OK") != 0) throw new ...;

サーバーに書き戻します。

byte[] outBuffer = Encoding.ASCII.GetBytes("USER " + account + "\r\n");
stream.Write(outBuffer, 0, outBuffer.Length);

これにより USER コマンドが送信されます。ログインする必要があります。その後、メッセージの取得を開始できます - POP3 を参照してください。 RFC コマンドの完全なリストについては、自分でロールしたくない場合は、これをチェックしてください コードプロジェクトの記事.

答えてくれてありがとう、素晴らしいですね!自分で調べてみてわかったのが、 リストナニー - 使い方も非常に簡単で、バウンスのタイプを教えてくれます。概念実証をいくつか書いて、どれがより気に入っているかを確認してみます...

あなたの質問を見て、私が使用しようとしていた Wordpress Newsletter プラグインにはバウンス管理がないことがわかりました。同様に何かが必要になるでしょう。

しばらく検討した結果、無料のオープンソースに落ち着きました。 PHPlist ニュースレター マネージャー.

彼らは詳しく説明しています バウンスを処理するための設定 彼らは実験的なものを持っています 高度なバウンス処理機能 これにより、バウンス処理を希望どおりにカスタマイズできるようになります。

PHPlist を使用しないことに決めた場合でも、PHPlist の使用方法を読むことは有益な情報となるでしょう。

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