【问题标题】:Send Email at a faster rate in ASP.NET在 ASP.NET 中以更快的速度发送电子邮件
【发布时间】:2014-04-19 05:13:00
【问题描述】:

我创建了一个在 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 封邮件,我希望这些邮件以更快的速度发送。任何人都可以通过展示任何示例或告诉我我能做些什么来帮助我实现这一目标吗?

【问题讨论】:

  • 一旦你将你的数据包交给邮件引擎,他的工作就是发送它。所以我不确定我们之后是否有任何帮助,除非您当然购买自己的 smtp 服务器。
  • 您可能想尝试使电子邮件发送方法异步,以便当前线程不等待该代码的响应。如果我的想法是正确的,您将能够加快速度。
  • @BlueIce,有很多正当理由需要发送大量非垃圾邮件。电子邮件仍然是人们在他们使用的应用程序中获得重要信息通知的主要方式,并且应用程序通常会有成千上万的用户接收通知。
  • @SamuelNeff 同意。如果合法用途不是这个问题的目的,我只是想提供建议。对于批量电子邮件的其他用途,我完全同意您的看法。
  • 使用我一直在发送的异步邮件发送,当时几乎有 1000 多封邮件。

标签: asp.net email


【解决方案1】:

您可以优化代码以使用异步(最好)或多线程(对某些人来说更容易)。您不会想一次尝试做太多事情,因为理论上您可以超载 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。

【讨论】:

  • 感谢塞缪尔回答我的问题。您能否提供任何示例或任何链接,从中我可以看到可以使用哪些其他 SMTP 服务器。我不想使用第三方组件。
  • @AnubhavChaudhary,我不知道哪些 SMTP 服务器最快,但有很多可供研究的选项。 google.com/search?hl=en&q=fastest+smtp+server 还发现了来自 MailChimp(垃圾邮件)人的好博文:blog.mandrill.com/making-smtp-fast.html
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-02
  • 2016-01-24
  • 1970-01-01
  • 2012-12-11
  • 2016-09-15
  • 1970-01-01
相关资源
最近更新 更多