ian*_*man 6 .net c# sql email sql-server-2008
场景:
1)我的应用程序是.NET 3.5 C#Web应用程序,数据库是SQL 2008.
2)电子邮件将在每天100到1000的范围内,并由各种Web用户与应用程序的交互触发.
3)大多数电子邮件将包含50KB到5MB之间的附件.有些电子邮件是HTML,有些则是纯文本.
4)所有附件都将来自Web服务器上的目录.
5)SQL Server是Web服务器的独立机器.来自应用程序的所有SQL连接都是通过SQL登录而不是Windows身份验证.
6)对于可扩展的解决方案,要发送的电子邮件将在数据库表中排队,以便批量处理进行提取.失败的电子邮件最多应重试4次.
困境:
我不确定是否要编写Web服务器解决方案来发送电子邮件(例如,用于轮询准备发送的电子邮件的Windows服务),或者可能使用易于设置和使用且不需要太多开发的SQL数据库邮件.
附件放在Web服务器上的事实告诉我使用Web服务器解决方案,但我有兴趣看看我是否错过了什么.
首先,要警惕每天突发发送数千封电子邮件。这是将其他邮件服务器甚至您的互联网提供商列入黑名单的好方法。其次,我建议采用 .NET 例程。这个问题有点服务的味道。即使您今天不将其构建为服务,您也可能希望在将来的某个时候这样做。使用 .NET,您可以重构解决方案以并行发送电子邮件或以多线程方式访问队列。所有这些在 SQL Server 中都会很困难。简而言之,.NET 使您能够创建比 SQL Server 更具扩展性的解决方案。