一次性发送成千上万封电子邮件,需要注意的问题/最佳方式是什么?

7
我正在编写一个使用C#和System.Net.Mail的工具,每两周会发送大约4000封电子邮件。
我可以简单地遍历一个包含4000个电子邮件地址的列表,并逐一发送电子邮件吗?这样做是否会导致潜在问题?
有更好的方法吗?
谢谢。
5个回答

6

首先,您必须拥有rDNS记录,将IP地址映射回域名。如果没有这个记录,像GMail这样的邮件服务将会把您的电子邮件暂停数小时甚至数天。此外,您可能会在几十封信后被列入黑名单。通常可以通过主机控制面板或支持请求来设置rDNS。

第二点,不要试图使用您的ISP或GMail的SMTP服务器。您很快就会用完每日配额。通常不允许发送超过几十封信件(对于GMail来说是50封)。因此,要么从自己的服务器发送邮件,要么使用第三方服务, 如auth smtp

如果由于某种原因无法设置rDNS,则此类服务也非常有用。

附言:如果您的信件内容没有问题(即它们实际上不是垃圾邮件)并且rDNS / SMTP设置正确,则可以随时发送,而不需要间隔时间。


1
一些额外信息:http://www.codinghorror.com/blog/2010/04/so-youd-like-to-send-some-email-through-code.html请直接返回翻译后的文本。 - bob
我认为这取决于你使用的ISP/连接类型以及你从事的业务类型。一个拥有100名办公室员工的小型企业可以轻松地通过同一互联网连接和邮件服务器每天产生2000到3000封电子邮件。 - Ben Robinson

1

只要您不违反任何服务器限制,如内存或磁盘空间,技术上就没有问题。但是,您可能会遇到ISP和邮件转发者的问题,他们可能会因为垃圾邮件而阻止您的域名 - 不管是对是错。


0

你可以一次性发送4000封电子邮件,但这样做会很快被标记为垃圾邮件。

你最好的选择是“分批发送”,比如先发送100封,然后在10分钟内再发送另外100封,以此类推。

如果你按照这种方式操作,那么你就不太可能被视为垃圾邮件发送者。


从你的角度来看,Facebook是如何发送他们的电子邮件通知的呢?100…10分钟…100? - nkrkv
他们不只有一个邮件服务器,很可能与许多供应商签订合同,以确保他们的电子邮件不被视为垃圾邮件。 我在我的几个电子邮件提供商中看到过 Facebook 的电子邮件被标记为垃圾邮件。 - JamesStuddart

0

检查发送邮件的机器是否具有有效的PTR记录 - 即,如果您从IP地址为1.2.3.4的www.example.com发送邮件,则对1.2.3.4进行PTR查询将返回www.example.com; 我也会研究SPFDKIM

一些电子邮件主机有传入速率限制(例如Hotmail过去使用了这种方法) - “如果您每分钟向我们发送超过x封电子邮件,则会获得更高的垃圾邮件评分”。我有一个脚本来“搅动队列”,以便每分钟发送到单个服务器的速率降低。

此外,请检查此内容 - 它提供关于电子邮件内容的大量好建议, 但那略微偏题。


0
除了上面提到的内容,一定要设置足够的日志记录。
例如,您应该记录已发送的电子邮件,以便在需要重新发送电子邮件时,可以确保不会发送重复的邮件。
此外,您可以设置一个应用程序来记录退回的电子邮件,并使用它来删除地址等。
当然,您可以编写自己的软件或购买一些。

http://www.quiksoft.com/bouncebuster/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接