2010-12-11 9 views
1

私のアプリのユーザーは、一連の人に電子メールを送信できます。電子メールの一部が無効である可能性があります。 どのメールが返送されたかをユーザーに知らせる必要があります。バウンスされた電子メールをどのように処理するのですか?

これは可能ですか?はいの場合、ポインタが役立ちます。

私は電子メールを送信するために.NET、C#を使用します。私はメールを送るために第三者ツールを使用しません。

ありがとうございました

+3

電子メールが配信されたかどうかを判断する確実な手段はありません。 –

答えて

1

私はこれを2,3年前にhttp://mailsystem.codeplex.com/を使って行っています。それは今オープンソースですが、当時は私にはお金がかかりました。

バウンスを示すメッセージが戻ってきます。元の送信者が正しく配信できるように、コードにプロパティがあります。

+0

もちろん、私が監視していたsmtpフォルダに特定の電子メールを転送したことは言及していませんでした。 – phillip

+0

複数の送信者が存在し、同じ電子メールを送信者が使用できる場合は処理できます – kheya

+0

可能です。私が開発したアプリケーションは、毎日5万件以上のメッセージを処理しました。メールは、添付ファイル付きの異なるフォーマットでもありました。そして、そのコード(あなたが使うことができる)はメールコンポーネントでした。それはかなり堅牢です。 – phillip

-1

「バウンス」は、一般的にアプリケーションではなく電子メールの送信者に戻ります。あなたが提案する方法でアプリケーションによって処理されるように実際には設計されていません。ユーザーは、問題の電子メールサーバーからのバウンスの通知を受け取る必要があります(OMG Poniesは本当に信頼できる方法がないとすべてうまくいっていると仮定します)。

アプリケーションがバウンスの受信者であり、意味のある方法で応答するためには、多くの作業が必要です。あなたのアプリケーションは、基本的には電子メールを送信するためのユーザアカウントのメールサーバでなければなりません。それは、ポート25でリッスンし、受信メッセージのバウンスを解析する必要があります。

これは簡単な作業ではありません。理想的には、メールサーバーであることは理にかなっていますが、あなたが適切なMXレコードを持つ適切なドメインでない限り、世界中のほとんどのメールサーバーはあなたを無視します。また、ポート25で着信音を聴いている場合は、多くのノイズが予想されます。

最初にメールが送信されるようにすることで、ユーザーにバウンスを正しく受信させるのが最善です。

+0

私は簡単かつ迅速な解決策が必要です。これが最も重要な要件です。現在、私は電子メールアドレスを '[email protected]'に設定しています。送信者のメールアドレスを送信元アドレスに設定した場合、返送されたメールは私のアプリではなくユーザーに送信されます。 – kheya

+2

ポート25を使用する必要はありません。フォルダにメールサーバーを転送することができます。エンドポイントである必要はなく、mxレコードは変更されません。彼らはほとんどすべてこの機能を持っています。 – phillip

+0

@phillip:それは事実だが、私はそれを考えなかった。 @Projapati:それはおそらくあなたの最高の賭けです。会社のメールサーバーに「[email protected]」のメッセージをフォルダに保存させます。次に、アプリケーションは 'FileSystemWatcher'を利用してこのフォルダを監視し、着信メッセージを解析することができます。その内容に基づいて、適切なユーザーとそれらを照合し、アプリケーションに通知する必要のあるシステムを使用して、そのユーザーに知らせる必要があります。 – David

関連する問題