5

我们的问题之一是我们的出站电子邮件服务器有时很糟糕。用户将在我们的应用程序中触发一封电子邮件,应用程序可能需要大约 30 秒才能实际发送它。让我们让它变得更糟,并承认我们甚至没有在后台线程上执行此操作,因此在此期间用户被完全阻止。SQL Server 数据库邮件已被提议作为该问题的解决方案,因为它基本上实现了一个消息队列,并且在物理上比我们的第三方电子邮件主机更接近且响应速度更快。诚然,它对我们来说也很容易实现,因为它只是将一个调用替换SmtpClient.Send为存储过程的执行。我们的大多数申请电子邮件都包含 PDF、XLS 等,我看到这些附件的大小高达 20MB。

使用数据库邮件处理我们所有的应用程序电子邮件对我来说很糟糕,但鉴于实施成本极低,我很难说服任何人放弃它。我们的生产数据库服务器太强大了,所以我也不确定它是否无法处理负载。有什么想法或更安全的选择吗?

4

2 回答 2

1

您所要做的就是通过 SMTP 服务器运行它,如果您计划发送大量邮件,那么您不仅需要对服务器(如果您计划发送 100K 邮件,还需要对 DNS 服务器进行负载平衡) + 邮件),但请确保您的出站电子邮件服务器在 DNS 中注册了正确的 A 记录,以防止退回。

这是一个便宜的解决方案(减去负载均衡器成本)。

于 2012-10-16T20:28:21.713 回答
0

是的,您的内部局域网和互联网的双主服务器,并确保它是仅出站服务器。从一台 SMTP 服务器开始,如果您立即遇到瓶颈,请查看它是否与内存、磁盘、网络或负载相关。如果它的负载相关,那么可能是时候看看负载平衡了。如果它与内存有关,请向其投入更多内存。如果它与磁盘相关,则向其抛出一个 raid 0+1 阵列。如果它与网络相关,请使用更大的管道。

于 2012-10-16T21:20:46.220 回答