2014-05-10 114 views
0

我尝试使用具有postFix的Ubuntu AWS实例发送带有经过验证的地址([email protected])的电子邮件& Amazon SES,但它不适用于Postfix。无法使用Amazon AWS,SES和PostFix发送电子邮件

1)我从this site

下载的“亚马逊简单的电子邮件服务脚本”我跟着指导,我可以使用下面的行发送电子邮件:

./ses-send -email.pl --verbose -k AWS-凭证-s “从SES测试” -f [email protected] [email protected]

所以一切工作良好。

2)我已经安装Postfix和我添加以下行/etc/postfix/master.cf以点1

AWS-UNIX电子邮件整合 - NN - - 管标志= 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 [email protected] $ {收件人}

然后我加入到/etc/postfix/main.cf中

default_transport = AWS-电子邮件

但是当我尝试使用发送电子邮件:

echo test | mail -s "test email sent" [email protected] 

我没有收到邮件,因为后缀自动从usertest remplaces发件人的电子邮件地址@ gmail.com到[email protected][email protected]不是经过验证的电子邮件地址。

另外我试过在/ etc/aliases中设置一个别名,但postfix并没有用usertest替换root。

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

你能帮我吗?

在此先感谢。

回答

1

我没有收到邮件,因为后缀自动从 [email protected] remplaces发件人的电子邮件地址,以[email protected][email protected]不是经过验证的电子邮件。

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

另外我试过在/ etc/aliases中设置一个别名,但postfix并没有用usertest替换root。

这是正确的。您需要像Dovecot这样的邮件发送代理与Dovecot的虚拟用户对Postfix进行身份验证,否则您将不得不通过该用户名创建Unix用户帐户。

+0

NightKnight感谢您的回复。但是,当我通过公共PHP网站发送电子邮件时,该用户将用于发送电子邮件? root用户呢? – devops85

+1

运行php服务的用户(进程所有者)。你可以使用$ processUser = posix_getpwuid(posix_geteuid())找到它; print_r($ processUser); [请投票如果我有帮助] –

+0

这也应该工作:<?php echo exec('whoami'); ?> –

1

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

相关问题