从Web服务发送自动每日电子邮件的最佳做法

Tau*_*ren 6 email web-services

我正在运行一个Web服务,该服务目前通过gmail smtp服务器向新用户发送确认电子邮件.由于我每天只收到一些新用户,所以这不是问题.

我最近为webapp添加了新功能,需要每天向每个用户发送自定义消息.可以认为这与LinkedIn发出的常规消息类似,可以为您提供有关网络活动的状态报告.每个用户的消息都会有所不同.拥有数千名用户,这意味着每天都会发送数千条独特的消息.

编辑:我发现这些类型的电子邮件被称为"交易或关系消息".Spamtacular有一篇关于区分营销和交易电子邮件的好文章.

我不认为使用gmail的smtp服务器会再削减它,但我肯定不知道.我不知道每个帐户的gmail最大外发邮件数是多少(可能是100 /天),但它们会将邮件限制为每封邮件500个收件人.我不会向500个收件人发送单个邮件,但我将发送1000个自定义邮件,每个收件人每天收到一封邮件.

我有兴趣学习这方面的任何最佳实践(特别是对于基于Java的webapps).以下是我对它的一些看法和关注:

  • 我应该设置自己的外发邮件服务器吗?如果我这样做,似乎我会担心各种其他问题,例如防止滥用邮件服务器,监控退回,允许选择退出电子邮件等等.是否有任何工具或服务可以帮助有了这个?也许像OpenEMM或像MailChimp这样的服务?但那些似乎更侧重于电子邮件营销活动.
  • 我不认为我应该让webapp本身处理发送电子邮件,因为它目前用于新用户注册.我想我应该设置一个单独的消息服务器,它可以访问与webapp相同的后端/数据存储.对此的想法?
  • 我应该考虑设置某种消息队列服务来帮助解决这个问题,例如JMS,RabbitMQ,ActiveMQ等吗?
  • 我是否需要为用户提供退出方式?我是否需要将这些标记为批量邮件?我并不真正考虑这些电子邮件营销信息,但我不确定什么是合适或正确的网络礼仪.

任何建议表示赞赏.我也对开源工具或简化操作的Web服务非常感兴趣,可以帮助我尽快提升.

谢谢!

Eri*_*lje 4

关于你的第一个问题,是的,你应该建立自己的邮件服务器。使用 Gmail 来执行此操作可能会起作用一段时间,但当他们看到此类活动时,他们可能会在短时间内关闭您。您可以注册一个企业帐户并使用应用程序引擎发送消息。这是一个链接,其中包含有关该服务的邮件配额的信息。

关于您的第二个问题和第三个问题,最好让消息由网络应用程序排队并由集中服务发送,而不是让应用程序自行发送消息。

通常我只会使用数据库表作为队列 - Web 应用程序为它想要发送的每条消息插入行。服务/计划任务应用程序将从表中抓取新消息并将其发送出去。如果您想稍后切换邮件服务器,这将为您提供很大的灵活性;如果邮件服务器出现故障,则可以提供更好的可靠性;如果收件人无法收到邮件,则可以更轻松地进行诊断;并且可以重新发送邮件。至于使用 JMS/MQ 来做到这一点 - 可能没有必要。在我看来,用作队列的数据库表比实际基于 JMS 的队列系统具有更大的灵活性。

至于选择退出,是的 - 你应该给人们一种选择退出的方式。不过,我认为您不需要将消息标记为批量。