我刚刚设法将我的Web应用程序从共享托管服务迁移到AWS,使用Elastic beanstalk。但是我正在努力处理电子邮件服务。
我的应用程序在注册时使用SMTP发送验证电子邮件,并且看起来用户没有收到电子邮件。 (我还在使用共享主机的SMTP帐户)
同样在使用共享托管服务时,我曾使用我们的网站域名为其他团队成员创建邮件帐户,例如(noreply@domain.com)。
我试图在我的问题上寻找一个好的答案,但没有一个问题完全满足我的需求。
有些人建议SES只发送电子邮件和WorkMAil来接收电子邮件。
在我的情况下,我不想使用其他服务。因为我的网站很小,所以我希望有人能够清楚地回答以下问题:
1-如何允许弹性beanstalk应用程序使用smtp发送电子邮件。
2-如何在EC2实例上设置网络邮件(接收和发送电子邮件),或者至少在ec2实例上设置邮件服务,以及使用其他客户端发送电子邮件,例如outlook。
3-如何使用网站的域名创建SMTP帐户或不同的电子邮件帐户。
PS:请回答非常明确和详细的答案,以便我理解,并且每个人都可能遇到同样的问题。
答案 0 :(得分:5)
对于AWS上的电子邮件托管,您可以使用WorkMail或在EC2实例上配置邮件服务器。除非您查看第三方邮件托管服务,否则这些是您唯一的选择。这两个选项都有很多教程,所以我不会在这里进入。
您不希望在Elastic Beanstalk服务器实例上运行邮件服务器。如果您的应用程序扩展,每次更新应用程序时都会删除邮件服务器,以及通常会出现各种问题,这将导致创建重复的邮件服务器。如果要在EC2上托管邮件服务器,您可能希望创建一个不受Beanstalk控制的单独EC2实例。
要通过SMTP从Elastic Beanstalk服务器发送电子邮件,您可以使用您选择和配置的任何邮件托管服务,或使用SMTP电子邮件传递服务(如Amazon SES)或第三方服务(如SendGrid)。