我创建了一个在ASP.NET中发送批量电子邮件的应用程序。
您可以查看我的这些文章:
http://www.c-sharpcorner.com/UploadFile/cd7c2e/send-bulk-mails-using-smtp-configuration-part-2/
http://www.c-sharpcorner.com/UploadFile/cd7c2e/send-bulk-email-from-yahoo-and-hotmail-using-Asp-Net/
问题是这些电子邮件需要花费很长时间才能在1小时内发送近800封邮件,我希望这些邮件能够以更快的速度发送。任何人都可以通过展示任何示例来帮助我,或者告诉我如何才能实现这一目标?
答案 0 :(得分:4)
您可以优化代码以使用异步(最佳)或多线程(对某些人来说更容易)。你不会想要一次做太多,因为理论上你可以超载smtp服务器。您还可以查看使用可提供更快性能的其他SMTP服务器,或设置SMTP服务器池并使用多个服务器并行发送。
另一种选择是使用更优化的第三方组件。 MailBee.NET说他们很快(虽然没有具体细节),从描述中肯定听起来像他们有很多优化。它们支持排队/池化消息,可以直接发送消息(无需SMTP服务器)。线程代码与直接消息发送相结合应该非常快。
http://www.afterlogic.com/mailbee-net/smtp-component
您应该能够每小时收到超过800条消息。那很慢。回到以前我曾经在ColdFusion中编程(很多年前)我记得他们6.1版本中的一个主要功能是改进了邮件处理,在他们的测试中能够发送1.2 million messages per hour。
非垃圾邮件
对于那些认为批量邮件仅用于垃圾邮件的人,请考虑那些拥有大量成员并且想要真正邮件的公司和组织。即使是一家小银行也很容易拥有10,000名客户。每天发送一次月结单,每小时发送800封电子邮件,发送邮件需要半天时间。
在我的特定情况下,我们提供的产品包括大型大学的LMS。对于快速发送通知非常重要,因为许多学生一旦收到注册可用的通知就会想要注册课程。如果我们以每小时800的速度向2000名学生发送通知,那么恰好是第一名的人在选择课程时会比以前在列表中的人更有优势。这是不可接受的。
我曾经在一家拥有4,000,000名会员的大型非营利组织工作,我们每月向会员发送简讯(不是垃圾邮件,订阅时事通讯)。那时我们正在使用ColdFusion。