我正在编写一个工具c#(和System.Net.Mail),它将发送大约4000封电子邮件。
我可以简单地遍历4000个电子邮件地址列表并一次发送一封电子邮件吗? 或者这会导致任何潜在的问题吗?
有更好的方法吗?
由于
答案 0 :(得分:5)
首先,您必须拥有rDNS记录,将IP地址映射回域名。没有它,像GMail这样的邮件服务可以保存你的电子邮件数小时甚至数天。此外,您可能会在几十封信后被列入黑名单。 rDNS通常可以使用hoster的控制面板或支持请求进行设置。
其次,不要试图使用您的ISP或GMail的SMTP服务器。您将很快耗尽每日配额。通常不允许发送超过几十个字母(GMail AFAIK为50)。因此,要么从您自己的服务器发送邮件,要么使用auth smtp等第三方服务。
如果由于某种原因无法设置rDNS,此类服务也很有用。
P.S。如果您的信件内容正常(即实际上并非垃圾邮件)且rDNS / SMTP设置正确,您可以随时发送,无需暂停。
答案 1 :(得分:1)
如果你没有;打破任何服务器限制,例如内存或磁盘空间,技术上没有问题。但是,对于可能会阻止您的域名发送垃圾邮件的ISP和邮件转发器,您会遇到问题 - 无论是对还是错......
答案 2 :(得分:0)
您可以一次性发送4000封电子邮件,但您确实冒着被垃圾邮件发送者迅速标记的风险。
你最好的选择是'爆发',所以发送可能100立即发送,10分钟发送另外100等。
如果你这样做,你不太可能被视为垃圾邮件发送者。
答案 3 :(得分:0)
检查发送邮件的机器是否有有效的PTR记录 - 即,如果您是从www.example.com发送IP 1.2.3.4,则1.2.3.4上的PTR查询将返回www.example.com ;我也会调查SPF和DKIM。
某些电子邮件主机具有传入速率限制(例如,过去使用的Hotmail) - “如果您向我们发送超过x封电子邮件/分钟,则会获得更高的垃圾邮件分数”。我有一个“搅拌队列”的脚本,因此降低了单个服务器的每分钟速率。
另外,检查一下 - 它有plenty of good advice on e-mail content,但这有点偏离主题。
答案 4 :(得分:0)
除了上面提到的内容之外,请务必设置足够的日志记录。
即。你应该记录已发送的电子邮件,这样如果你需要重新发送电子邮件,你可以确保不发送重复的邮件。
此外,您可以设置应用以记录退回的电子邮件,并使用此功能删除地址等。
您当然可以编写自己的软件或购买一些软件。