0

ユーザーがデータベースに保存されている顧客に電子メールを送信できるようにするアプリケーションがあります。これは ASP.NET アプリであり、AspMail を使用してこれらのメールを送信します。

ユーザーがあまりにも多くの顧客を選択した場合に備えて、アプリは電子メールを 1 つずつ送信します。10.000 人以上の顧客を持つ一部のユーザーがいることがわかります。彼らが電子メールを送信すると、Hotmail などで問題が発生します。メールが多すぎるため、彼らは私たちの IP をブロックします。また、これらのメールがメール サーバーをブロックすることもあります。

これを行うための最善の方法が必要です。たった 1 通のメールを何千人もの人々に送信する方がよいかもしれません。

私たちは何ができる?1枚ずつ送ったほうがいいですか?他のアプローチはありますか?

4

2 に答える 2

0

大量の電子メールから発生する可能性のある無数の問題が、電子メール サービスが生まれた理由です。.net から直接使用できる十分に文書化された API を備えたさまざまなメール サービス プロバイダーがあります。Mailgun は、私が使用した 1 つの例です。彼らは、ブラックリストに登録されることなく、hotmail やその他のドメインに確実に電子メールを送信する配信サービスを構築しました。

メール サービス プロバイダーへのリンクを次に示します。

于 2012-10-03T15:16:50.437 に答える
0

1 つの解決策は、メールをバッチで送信することです。これを実現するには、コンソール アプリケーションを使用できます。私はすでにこれを 2,000 通のメールに使用しており、100 通のメール送信ごとに休止期間を設けています。

http://www.codersbarn.com/post/2011/11/08/Calling-Console-Application-from-Web-Form.aspx

while (dr.Read())
{
    ....
    toAddress = dr[1].ToString();

    // Send email in batches of 100 with a 30 second pause between each batch 
    if ((count >= 100) && (count % 100 == 0))
        Thread.Sleep(30000);
    ....
}
于 2012-10-03T15:28:41.463 に答える