asp.net-mvc - 发送批量通知电子邮件而不阻止

标签 asp.net-mvc email bulk subscription

对于我客户的定制 CRM,我希望通过电子邮件将标记案例的更改通知用户(技术人员)。

这保证了用户和案例之间的简单订阅映射表以及每次从日志记录方法中对案例进行更改时自动发送的电子邮件。

如何向订阅的用户发送 10-100 封电子邮件而不影响我的日志记录方法?我的 SMTP 服务器在我的 LAN 上的对等服务器上,因此发送应该很快,但理想情况下,这应该由外部排队进程处理。

我可以让 cron 作业每 10 分钟发送一次任何未完成的电子邮件,但对于这个特定的客户案例来说,时间非常敏感,即时通知(与电子邮件一样即时)会很棒。

如何从 ASP.NET MVC 中发送批量通知电子邮件而不影响我的日志记录方法?

最佳答案

早在 2007 年,我就被要求调查 Web 服务器突然卡住并开始发送 503 错误并在几分钟后返回的案例。长话短说,最后发现它发送的电子邮件阻塞了服务器(除了一些错误的代码)。

基本上 Microsoft 的 SMTP 服务器是作为单线程服务实现的 - 最后我检查了一下。这意味着所有有值(value)的 ASP.NET 线程服务请求都必须排队到一个单线程单体应用程序来发送一封不太紧急的电子邮件。您需要将您的网站与发送电子邮件分离 - 这是每个人都在做的事情,并且有充分的理由这样做。

将您的电子邮件写入队列,并有一个进程读取和发送电子邮件。

关于asp.net-mvc - 发送批量通知电子邮件而不阻止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4690172/

相关文章:

c# - MVC3 View 无法找到添加的引用类

c# - 用于从 cedula/passport C# 中提取文本的 OCR

c# - Quartz.net 的 Unity LifeTime 管理器

excel - 使用 Excel VBA 创建具有特定值的行的 Outlook 电子邮件正文

mongodb - 向 mongodb 服务器批量插入(1000 个文档)在 GCP 中是 1 IOPS,还是 1000 iops?

php - 如何处理包含 500 多个项目的 Symfony 表单集合

asp.net-mvc - MVC 5 路由 URL 不起作用

ios - 将 PDF 文件附加到电子邮件 - Swift

email - 如何保护网站上的电子邮件地址免受现代支持 JS 的机器人的攻击?

c - 一键使用不同的参数多次运行应用程序