【问题标题】:ASP.NET app sending mass emailsASP.NET 应用程序发送大量电子邮件
【发布时间】:2012-09-24 13:20:54
【问题描述】:

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

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

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

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

【问题讨论】:

标签: asp.net email sendmail mass-emails


【解决方案1】:

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

这里有一些电子邮件服务提供商的链接。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2014-02-03
      • 1970-01-01
      • 2011-08-19
      • 2016-02-23
      • 1970-01-01
      • 2015-03-23
      • 2010-12-02
      • 1970-01-01
      • 2023-03-17
      相关资源
      最近更新 更多