2009-03-09 13 views
0

私が長年書いた大量メール送信コンポーネントと、難易度の正確な性質、それを測定する方法、それを緩和する方法のすべてに問題がありましたまだ分​​かりませんでした。SMTP through ASP.Net 2セッションサイズの問題

これらの問題が深刻になってきているので、私はいくつかのストレートな回答が必要なので、ここの誰かがそれらを提供できることを願っています。

基本的に、この大量メールウィジェットは、約25kメールをメールリストに一度に1通送信します。これは私たちにとって非常に好まれるメッセージです。というのは、各受信者が自分宛のメールを個人的に受け取るということです。そのループに満足しています。

私たちが満足していないのは、約6kメールの後にプログラムを処理するだけで、「最大セッションサイズ」に達したことになり、それ以上メールを送信しないということです。

現在のところ、どのメールが受信されたのかを知るための実際の方法はありません。私たちの唯一の調整方法は、推測作業に基づいており、マニュアルボタンを押すごとに1kメールを90秒ごとに送信することです。

メールを追跡する方法、セッションサイズを測定する方法、またはプロセスをボタンの1つだけにする方法と、ウィジェットのための方法を示すために頭が痛いまで検索しました。自己抑制することはできますが、誰もオンラインでそれについて話したいとは思わないでしょう。

私は、ウィジェットを完全に再加工することを提案したり、特注の大量メール送信アプリケーションを作成することを示唆する関連クエリに対して、いくつかの提案をしました。

最後に、送信メールを調整してエラーが発生しないようにするか、またはこれが避けられない場合は、送信されたメールを数えてどこから手に入れるかを教えてください。エラーを正常に処理することさえできます。何か。何でも。

誰でも、追跡するための現実的な提案をしていますか.Net 2.0は、元のサーバーから電子メールを生成しましたか?

答えて

1

なぜセッションが拡大していますか?リクエストの生涯でこれをやっていますか?

セッション状態内で送信された電子メールに関する情報を保持することによって「追跡」していると仮定しています。私はディスクやXMLデータベース上のXMLファイルなどの外部記憶装置に追跡情報をバッチライトすることができるトラッカーを作成します。

追跡部分が問題を引き起こすものではなく、1度に1つのメール(または送信するウィジェット)である場合は、メールをバッチして送信することができます。時間。盲目のカーボンコピーは常に個人的に対処されており、大量に郵送されたことを受信者に明らかにしません。あなたは、BCCを介して送信できる電子メールの数の制限を把握するだけです。

第3の選択肢は、あなたのWebアプリケーションで、これらの電子メールを生成するために必要なものを共通の格納場所にドロップし、新しい電子メールジョブを定期的にチェックして処理するWindowsサービスアプリケーション(またはスケジュールされたタスクアプリケーション)あなたのウェブアプリの外...多分あなたのウェブアプリのホストサーバーの外でさえ。もちろん、このようなことは共有ホスティングサーバーでは機能しません...

+0

セッションが終了している限り、返されたエラーメッセージの内容を報告しています。あなたは私に興味深い考えを与えてくれましたが。 3番目のオプションは、仲間のように聞こえる。 –

+0

おそらく、スケジュールされたタスクとして実行される単純なアプリケーションが最適です。 – Will

0

私たちは同じことをやっていますが、毎分500件のメールを送信します。最初の500が送信され、ページがリロードされ、ジョブは次の500で続行されます。

これは、現在の500のキューに関する情報をロギングして保存するのに少し時間がかかり、タイムアウト、早期リロードなどを可能にしますが、カップルのために働いています(おそらく10,000人ほどのEメールをEメールします)年の