将数据库邮件用作电子邮件中继服务器是一个好主意吗?

时间:2012-10-16 20:20:52

标签: sql-server database-mail emailrelay

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

使用数据库邮件来处理我们所有的应用程序电子邮件对我来说都不好,但由于实施成本极低,我很难说出任何人。我们的生产数据库服务器功能太强大,所以我不确定无法处理负载。任何想法或更安全的替代品?

2 个答案:

答案 0 :(得分:1)

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

这是一种廉价的解决方案(减去负载均衡器成本)。

答案 1 :(得分:0)

是的,双归属服务器为您的内部局域网和互联网,并确保它是一个出站唯一的服务器。从一个SMTP服务器开始,如果你立即获得瓶颈,请查看它是否与内存,磁盘,网络或负载相关。如果它的负载相关,那么可能是时候看负载平衡了。如果它与内存有关,请为它投入更多内存。如果它与磁盘有关,则抛出一个raid 0 + 1数组。如果它与网络相关,则使用更大的管道。