.NET服务应用程序 - 将邮件发送到2634789个用户(.NET Service Applica

2019-08-31 10:39发布

我们已经取得了.NET服务应用程序发送电子邮件给所有注册用户我们的网站。

我们有2634789组的用户和邮件已去到他们。 在节目中,我获取在与时间有关的100个用户的信息(以避免数据库调用),并存储在程序(在一个DataTable),然后异步发送邮件。 同样,我这样做是为了剩余用户。

现在我的疑问是它最好的办法还是有其他实现这一目标的最佳途径? 请提供参考链接(如果需要)。

非常感谢,问候。 Bhavna。


谢谢大家的时间和回复。

我们使用ISP的SMTP发送邮件了。

我在与异步电子邮件的方法一次发送100封邮件。 而且它做我需要做什么吗?

感谢和问候,Bhavna。

Answer 1:

你的做法会花费太多时间。 我已经外包等任务,是白名单,并且都有向外发送大量电子邮件的能力批量邮件服务。

如果您仍然结束了,正如你所说发送尽可能多的邮件,你很可能会被指定为垃圾邮件发送者。 你也应该看看自己的白名单。



Answer 2:

考虑使用数据库,则标记被发送的电子邮件用户每次,然后通过批量处理未标记的用户(让我们说每批次100个用户)。 在出现故障的情况下,你是安全的。



Answer 3:

你应该多线程此方法。 如果你可以每秒发送10封电子邮件(根据您的服务器和SMTP服务器)将采取73小时传输。



Answer 4:

我觉得你应该先在谷歌搜索o避免被如何标记为垃圾邮件发送者。 2000000个电子邮件是不平凡的。

你打算每天,每月一个发送大量的电子邮件? 在“电子邮件”表与各派出电子邮件的内容将是在这种情况下有趣。



Answer 5:

你可以考虑平面文件,并且只使用一个命令行邮件工具(松?)的电子邮件发送给每个人运行bash脚本。

如果它已经在数据库中,虽然,那么你做就OK了。 虽然你有你自己的SMTP服务器? 或者你使用ISP的? 如果是的话,你不妨去检查他们,让他们知道你的意图的邮件,让他们已经意识到这不是绝对的垃圾邮件。



Answer 6:

我建议采取这一更进一步,使其分布在粗粒感。 您目前的做法是好的,但我想有一个存储过程,而返回这100个人的电子邮件基于一些额外的整数列,说GENERATIONSENT_GENERATION 。 你的程序将检索N行这GENERATION != NEW_GENERATION及其设置GENERATIONNEW_GENERATION 。 该存储过程将这些N行返回给调用程序,它会发送的电子邮件,然后更新表,并设置SENT_GENERATIONGENERATION ,这样你可以告诉哪些电子邮件被罚,以及那些没有。

像这样的策略将让你拥有多台计算机向用户发送电子邮件分批,你可以花多天发送电子邮件至200万人W / O线程或分布式发送。



文章来源: .NET Service Application – Sending mail to 2,634,789 users