我正在尝试使用带有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电子邮件地址的电子邮件。我认为这是我第一次进入亚马逊云世界,我在这里做错了。
你能帮帮我吗?
先谢谢。
答案 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解决了。