2008-09-11 9 views
5

私は現在、データウェアハウスをループし、System.Net.Mail.SmtpClientのSend()メソッドを呼び出しています。これの問題は、それが遅いということです。各メールは送信に約5〜10秒かかります(これは私のホストの問題です)。私は私のweb.configファイルでexecutionTimeoutのデフォルトを上書きするために、このような(90秒に、それはデフォルト)を有していた:ASP.NETで大量の電子メールを送信する最も良い方法は何ですか?

<httpRuntime executionTimeout="3000" /> 

1つの警告:私は、共有ホスト上でので、私はそれが可能だとは思いませんPickupDirectoryFromIisオプションを使って私に送ることができます(少なくとも私がそれをオンにしたときにエラーが出ました)。

答えて

6

メールを非同期で送信できます。そのようにしてタイムアウトが送信を中断してはいけません。

この記事は、あなたがそれを始めるのに役立ちます:Sending Emails Asynchronously in C#http://www.vikramlakhotia.com/Sending_Email_asynchronously_in_AspNet_20.aspx

とオフコースのいくつかの商用のクライアントが利用可能であるが、私は試してみましたし、お勧めできる唯一のは間違いhttp://www.aspnetemail.com/

0

ある背景労働者にそれを生む:ここでは別のアプローチがあり

彼らは非同期的に出て行く。

ところで、メールごとに5〜10秒は私にとっては遅いようです。私のサーバーでは、電子メールごとにほんの数秒しかかかりません。

関連する問題