3

顧客がマーケティング情報を電子メールで送信できるアプリケーションを構築したいと考えています。これは、正当な大量メール送信のみに使用される慎重に監視されたツールです。必要な「購読解除」機能などをすべて備えています。

ソリューションは、VB.NET を使用して構築されます。

私の質問は、実際に電子メールを送信する最良の方法に関するものです。データセンターには、使用できる SMTP サーバーがあります。ある種のマルチスレッド Windows サービスを作成して、送信する電子メールのデータベースを監視し、System.Net.Mail API を呼び出してこのサーバー経由で送信できると考えています。

これにより、適切な時間枠内で何千人ものユーザーにメールを送信するために必要なレベルのパフォーマンスが得られるでしょうか?

そうでない場合は、「下位レベル」で物事を行うこと、あるスレッドで DNS ルックアップを実行すること、別のスレッドのポート 25 で関連するサーバーに直接送信することなどを検討する必要がありますか?

任意のポインタをいただければ幸いです!


本当の答えではありませんが、興味のある人のための更新です...私は現在、 ActiveUp の ActiveMail という製品を見ています

これは MTA (独自の MX ルックアップを実行し、メールを直接送信する) のようで、マルチスレッドのキューイング アプリケーションが付属しています。

4

3 に答える 3

3

自分で巻くのはそんなに難しくないと思います。ビルドには 1 日ほどかかります。しかし、既存のものを使用する方がはるかに優れているはずです。

それでも、Bulk-Email を行う際に重要だと思ったことがいくつかあります。

それらを送信するために独自の SMTP を使用しないでください。

受信者の MX エントリを検索し、SMTPClient をそのSMTP に接続します。これにより、メールボックスが見つからない場合や何か問題が発生した場合に即座にエラー メッセージが返され、自分のサーバーにストレスがかからないという利点があります。

また、SmtpClient には小さなバグがあり、ホスト名が完全修飾ドメイン名 (SMTP 仕様で要求されている) ではなく、マシン名 (これは SmtpClient 内の内部フィールド) であるため、問題が発生しました。一部のSMTPサーバーはそれを真剣に受け止め、代わりにドメイン名を必要とするため、FQDNへのリフレクションでそのフィールドを設定することになりました. (うまくいけば、これはその後変更されました)

于 2008-11-24T11:52:43.813 に答える
2

まず、重労働を行うためのコンポーネントを入手します。お勧めします: aspnetmail

次に、サンプル コードをダウンロードするのと同じくらい簡単に一括メール送信を設定できます。
WebMailer: タイムアウトせずに Web ページから数千通の電子メールを送信します。

同じベンダーは、mx レコード チェッカー / バウンス メール チェッカーなども提供しています。このソリューションは無料ではありませんが、標準のメール コンポーネントのバグや矛盾を追跡せずに節約できる時間は、価値のあるものになります。

ああ、デスクトップに置く一括メーラーが必要な場合は、こちらも提供されています: http://www.aspnetemail.com/rapidmailer/

于 2008-11-24T11:05:03.003 に答える
1

質問は十分に正確ではありませんが、とにかく答えようとします。オプションを制限するいくつかの要因があります。最善の「方法」は、実際にはあなたの状況次第です。どの締め切りに向けて取り組んでいますか?

あなたが言及した他のオプションと比較して、大規模で低レベルのマルチスレッドのメール送信システムを実装するには、多くの時間がかかります。確かに、すべてをゼロから作成する方が、SMTP サーバーと .NET ライブラリを使用してメールを送信するよりもはるかに洗練されています。

異なるデータ間の帯域幅の問題もあります。.NET アプリとデータベースは、SMTP と同じサーバーで実行されますか? そうでない場合、帯域幅のパイプラインは 1 秒あたりに送信されるメールの最大数をどのように制限しますか?

個人的には、シンプルに保つのが大好きです。時計が刻々と過ぎている場合、利用可能なソフトウェアを再利用することは賢明な方法です。どのくらいの頻度で何千通ものメールを送信しますか? その間隔は、時間枠が賢明かどうかを定義します。別のバージョンを送信する準備ができたときに、システムがまだ最初の「バッチ」で動作している状態で終わる可能性があるほど小さいですか?

于 2008-11-20T22:43:48.040 に答える