使用AWS和SES发送SQL电子邮件

时间:2015-04-27 11:18:26

标签: amazon-web-services amazon-sqs amazon-ses

我希望有人能够帮助我,因为我是AWS新手。

我有一个使用.NET MVC的Web应用程序,它将在AWS中部署/托管。这是我想要实现的目标的描述:

1-假设Web应用程序将在SQL Server的产品表中插入产品。

2-插入此产品后,系统(AWS)将从SQL Server上的客户端表向客户端发送电子邮件。

  • AWS可以吗?
  • 我可以在SQL Server中设置触发器并通过SES发送电子邮件吗?
  • 使用SQS更好吗?因此,Web应用程序将在SQS中发布消息,然后让另一个应用程序监听并发送这些电子邮件,例如控制台应用程序。

我将欣赏任何方向或有用的链接。

提前感谢大家。

2 个答案:

答案 0 :(得分:1)

当你谈到责任分离时,我发现发送电子邮件的次数少于数据库服务器(即使可以做到)。发送电子邮件是业务层的任务,当然不是数据层。

使用网络应用程序触发发送电子邮件的过程,而不是直接将其实施到网络应用程序中,或者将其与消息传递系统(如SNS),队列系统(如SQS)或其他任何内容分开。 / p>

答案 1 :(得分:1)

你的第一个问题的答案是'是'。是的SQL服务器可以使用SES发送电子邮件。由于SQL Server可以发送电子邮件,因此您需要做的就是在验证帐户并使用SES后将其设置为使用SES中的正确SMTP设置。

那就是说,我永远不会让我的数据库服务器发送电子邮件,只是看起来不是正确的地方;即使你可以。

我已经开发并支持这样的几个系统,我使用的通常模式是让Web应用程序在SQS队列中插入一条消息,该消息将用作另一个进程的输入以发送电子邮件。在可能的情况下,我希望将有关电子邮件的所有详细信息包含在SQS消息中,即从,到主题和正文 - 下游流程需要知道的所有内容,以便将其发送出去。

在我的情况下,我使用在自动缩放组中的几个EC2实例上运行的Windows服务来轮询队列并发送电子邮件。在大多数情况下,我能够将所有电子邮件存储在SQS主体中,Windows服务完全是通用的 - 它读取SQS消息,编写电子邮件并将其发送出去。由于电子邮件的所有详细信息都在SQS邮件正文中,因此单个SQS队列和正在处理它的Windows服务可以处理来自各种应用程序的电子邮件,因为该服务不需要包含任何特定于应用程序,没有外部依赖。