如何使用Amazon SES接收电子邮件


18

我是Amazon Web Services(AWS)和AWS Simple Email Service(SES)的新手。

AWS SES是否允许应用程序接收电子邮件?我在SES开发人员指南中找不到参考。

我的应用程序要求每个客户识别接收到的客户电子邮件,最终将它们(以编程方式)存储在数据库中。每个客户都会在托管该应用程序的域上收到一封电子邮件。

例如,说该应用程序托管www.example.com在AWS上。那么这个MYAPP的客户可以像电子邮件:john@example.combarry@example.comlisa@example.com这样的。

如果在AWS SES中无法做到这一点,请就如何在AWS环境中完成此工作提出建议(针对大量电子邮件)?


等待。您是在谈论发送还是接收?
mailq

Answers:


9

亚马逊的SES严格用于发送电子邮件。如果要接收电子邮件,则必须在EC2服务器实例上设置一个邮件传输代理(MTA),例如Sendmail,Postfix,Qmail等,并将您的DNS MX记录指向该实例。在这种情况下,您可能还需要利用弹性IP(EIP),以便拥有静态IP。更不用说您可能最终会发现IP地址范围可能被某些DNSBL阻止。

我倾向于避免在AWS内接收电子邮件,而在外部专用主机托管服务器或VPS上接收邮件服务器,因为它们通常更便宜且不那么麻烦。


22
这不再是事实。Amazon SES的新更新附带了收据规则,使您能够以各种不同方式存储电子邮件。
Elegant.Scripting

1
确实如此,aws.amazon.com / ses(阅读了前两行),尽管SES可以使用收据规则接收电子邮件,但不能将其指定为传统或个人邮箱。
阿德南'18

41

今天是您的重要日子!AWS SES现在启动了电子邮件接收:https : //docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html

您注意,这并非旨在用作个人邮箱。当前设置为自动接收电子邮件创建了理想的平台。非常适合自动处理任何生成的报告(例如银行消息,DMARC报告,电子发票等)

例如,这是已保存到S3的消息:https : //s3-eu-west-1.amazonaws.com/s3.jakub-boucek.cz/temp/lts0ahe3tucqpoii4ji0g0u3u08nrpuk1g0p3bo1,这是传递到我的https端点的通知的输出:http//pastebin.com/yR3RjjkE


1
很好的发现,雅库布。我尚未看到有关此消息的公告。
EEAA

1
我发现设置SES非常复杂。有没有人确定一个简单的教程?可以将Gmail配置为该服务的客户端吗?

嗨@blong是的,SES非常复杂。无法为此使Gmail(或其他提供商)成为“客户端”。这不是经典的收件箱,SES是入站邮件的机器处理器。您可以使用SES将邮件重定向 Gmail。但这也不简单。转到AWS Lambda SES电子邮件转发器项目。
JakubBoucek

@JakubBoucek,您好,感谢您回答我的问题。看来我需要找到另一种方法。这里的东西我可以考虑:simplyian.com/2015/01/07/...
blong

1
@ limasxgoesto0使用任何MIME解析器,例如:github.com/nodemailer/mailparser
JakubBoucek

3

更新:我发布此答案后,亚马逊增加了对通过SES接收电子邮件的支持。它是为自动处理而设计的,不能用作典型的IMAP邮箱。有关详细信息,请参见https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html

过时的

Amazon SES仅用于发送电子邮件。

(来源:http//aws.amazon.com/ses/

Amazon Simple Email Service(Amazon SES)是面向企业和开发人员的高度可扩展且经济高效的批量和事务性电子邮件发送服务。

接收电子邮件并不难。绝对比发送电子邮件更容易,因为它具有所有的反垃圾邮件障碍。如何使用虚拟用户设置Postfix服务器?您正在考虑哪种音量?


2
如果您投了反对票,那么我很乐意就原因进行评论。在写这个答案的时候(4年前),肯定没有错。
Martijn Heemels,2015年

...您是正确的,答案在发布时并没有错。但是今天,该信息是不正确的。因此,投反对票与您无关,而是与信息有关。您可能会考虑使用正确的信息进行编辑或更新。(只是一个建议)
agentv

2

Amazon SES仅用于发送,从不接收邮件(仅退回邮件)。

您需要验证发件人的邮件地址是否有效。这将取决于您的电子邮件地址。您可以拥有Freemail-Accounts,EC2上的邮件服务器上的帐户,公司中邮件服务器上的帐户或您拥有的任何电子邮件帐户。但这一定是你的。


0

我发现最好的方法是在本地安装“ dovecot”邮件服务器。调整它以收听127.0.0.1和Maildir:

listen = 127.0.0.1
# mail_location = mbox:~/mail:INBOX=/var/mail/%u # Comment this and add next:
mail_location = maildir:~/Maildir

然后安装 s3fs

sudo apt install s3fs
sudo echo "s3fs#mailbox-konkove /home/kes/Maildir/new fuse _netdev,allow_other,profile=mail,uid=1000,gid=1000,use_cache=/tmp/S3,defaults,noatime,endpoint=eu-west-1 0 0" >> /etc/fstab

配置AWS CLI

并配置您的邮件客户端以~/Maildir通过IMAP协议获取邮件

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.