无法使用Amazon AWS,SES和PostFix发送电子邮件

时间:2014-05-10 09:36:13

标签: ubuntu amazon-web-services postfix-mta amazon-ses

我正在尝试使用带有postFix&的Ubuntu AWS实例发送带有我的经过验证的地址(usertest@gmail.com)的电子邮件。亚马逊SES但它没有使用postfix。

1)我从this site

下载了“亚马逊简单电子邮件服务脚本”

我按照指南操作,我可以使用以下行发送电子邮件:

  

./ ses-send-email.pl --verbose -k aws-credentials -s“来自SES的测试”-f   usertest@gmail.com usertest@gmail.com

所以一切都很好。

2)我已经安装了postfix,并在/etc/postfix/master.cf中添加了以下行以集成点1

  

aws-email unix - n n - - pipe flags = R user = usertest   argv = / opt / amazon-mail / ses-send-email.pl -r -k   / opt / amazon-mail / aws-credentials -e   https://email.us-east-1.amazonaws.com -f usertest@gmail.com   $ {收件人}

然后我添加到/etc/postfix/main.cf

  

default_transport = aws-email

但是当我尝试使用以下方式发送电子邮件时

echo test | mail -s "test email sent" usertest@gmail.com

我没有收到该电子邮件,因为postfix会自动将发件人电子邮件地址从usertest@gmail.com重新发送到root@gmail.com,而root@gmail.com不是经过验证的电子邮件。

此外,我尝试在/ etc / aliases中设置别名,但postfix不会用usertest替换root。

我只想在我的AWS实例中分配的PHP站点中发送一些带有我的gmail电子邮件地址的电子邮件。我认为这是我第一次进入亚马逊云世界,我在这里做错了。

你能帮帮我吗?

先谢谢。

2 个答案:

答案 0 :(得分:1)

  

我没有收到该电子邮件,因为postfix会自动重新发送发件人电子邮件地址   usertest@gmail.com到root@gmail.com和root@gmail.com不是经过验证的电子邮件。

这是因为您从Unix系统帐户发送(以root身份登录)。

  

此外,我已尝试在/ etc / aliases中设置别名,但postfix不会使用usertest替换root。

那是对的。你需要一个邮件传递代理,比如Dovecot和Dovecot的虚拟用户对Postfix进行身份验证,或者你需要用该名称创建一个Unix用户帐户并su给那个用户。

答案 1 :(得分:1)

由于 我在main.cf postfix的文件中使用sender_canonical_maps解决了。