如何处理已注册用户群的群发电子邮件警报系统

时间:2012-08-08 09:29:38

标签: c# email sql-server-2008-express alerts massmail

我有一个客户希望开发一个系统来处理向选择注册用户发送警报电子邮件。警报基于地理旅行相关事件,并通过第三方Web服务提供。注册用户群预计约为500,000个用户,每个用户可以订阅多个警报类别。

我只是试图找出技术上需要创建此警报功能的内容。在我看来,我们会创建如下内容:

  • 每小时轮询一次提醒服务
  • 在“临时数据库表”中存储警报“队列”
  • 将队列表作为计划任务处理,并将电子邮件发送给选择加入的用户

我真正不确定的部分是物理发送电子邮件。我想知道是否有人可以在这推荐任何好的选择。我想我们要么创建一个自定义组件来发送电子邮件或使用专用的第三方服务(比如dotMailer?或者是自定义群发邮件服务器?)。我已经读过,如果你不小心,推出你自己的解决方案会冒着将IP列入黑名单的风险,显然我们希望保持这一切完全合法。

我还要提一下,我们将寻求使用.NET(C#)创建解决方案,并且我们仅限于SQL Server Express 2008版本。

任何想法都非常感激

非常感谢提前

1 个答案:

答案 0 :(得分:1)

对于轮询,队列和发送操作,我将创建一个调用外部服务的Windows服务,对数据进行操作,然后收集结果以发送电子邮件,根据需要通过发送标志等更新数据库。

我最近处理了一个类似的项目,当我们提到大量电子邮件时,我们发现许多ISP或托管提供商都非常抽搐。您应该明确查看http://en.wikipedia.org/wiki/CAN-SPAM_Act_of_2003 CAN垃圾邮件指南(或您所在地区的类似指南)。

只要您遵守规则并遵循指导原则,您就可以从本地邮件服务器发送,但重要的是确保MX记录上的DNS查找或反向DNS查找都来回指向每个其他正确。事实上,这可能更容易从第三方邮件提供商或ISV出来,但是当我们尝试时,我们无法找到合适的结果并最终自己完成。

此外,您可能需要浏览SPF记录和其他方法来增加大量电子邮件传送!对于它的价值而言,这可能是一个非常棘手的任务,因为SMTP(我最不喜欢的协议)很难尝试调试,如果人们收到多个或未经请求的电子邮件,人们会非常沮丧,所以请确保您有一个选择加入政策和适当的检查以防止重复交付。