0

我们有一个应用程序允许用户向存储在数据库中的客户发送电子邮件。它是一个 ASP.NET 应用程序,它使用 AspMail 来发送这些电子邮件。

该应用程序会一一发送电子邮件,以防用户选择太多客户。我们看到有些用户拥有超过 10.000 名客户,当他们向他们发送电子邮件时,我们遇到了问题,例如 Hotmail。由于电子邮件过多,他们阻止了我们的 IP。这些邮件有时也会阻塞我们的邮件服务器。

我们想要最好的方法来做到这一点。也许最好只向成千上万的人发送一封电子邮件。

我们能做什么?一个一个发送比较好?还有其他方法吗?

4

2 回答 2

0

大量电子邮件可能引发的无数问题是电子邮件服务诞生的原因。有多种邮件服务提供商拥有可直接从 .net 使用的详细记录的 API。Mailgun 是我用过的一个例子。他们已经建立了自己的递送服务,可以可靠地向 hotmail 和其他域发送电子邮件,而不会被列入黑名单。

以下是电子邮件服务提供商的一些链接。

于 2012-10-03T15:16:50.437 回答
0

一种解决方案是分批发送您的电子邮件。您可以使用控制台应用程序来实现这一点;我已经成功地将它用于 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 回答