我想从我们的服务器开始为所有电子邮件使用Amazon SES。 我们有几个自由devise师与PHP托pipe,一些Django / Python的networking应用程序,还有一些系统实用程序发送电子邮件。
所以我希望有PHP的邮件function,命令行邮件命令和我们的Python应用程序都能够使用它,最好不必以自己的方式设置它们。
我认为我需要的是在本地主机上运行Postfix,并使用SES来交付,但是我不知道该怎么做。
亚马逊的文档状态我需要设置我的邮件传输代理(MTA),以便它调用ses-send-email.pl脚本。 我有脚本,但我不知道如何实现这一点。
我在正确的轨道上? 如果是这样,我怎样才能configurationPostfix使用该脚本?
亚马逊刚刚发布SMTP访问SES。 今天早上我为它做了一个快速的指导: http : //www.millcreeksys.com/2011/12/14/how-to-configure-your-postfix-server-to-relay-email-through-amazon-simple -email服务- SES /
以下是从SES开发者指南复制的一些项目:
要将ses-send-email.pl与Postfix集成:
/etc/postfix
目录中。 通过将以下两行添加到master.cf
文件,然后保存该文件configuration一个新的邮件传输。
aws-email unix - nn - - pipe flags=R user=mailuser argv=/opt/third-party/amazon/ses-send-email.pl -r -k /opt/third-party/amazon/aws-credentials -e https://email.us-east-1.amazonaws.com -f ${sender} ${recipient}
关于这个例子请注意以下几点:
mailuser
仅用于说明目的。 ses-send-email.pl
脚本和凭证文件驻留在/ opt / third-party / amazon目录中。 您应该适当地修改这些参数。
在与master.cf相同的目录中打开main.cf文件,并按如下所示进行修改:
查找default_transport行:
如果存在,请更改它,使其看起来像这样:
default_transport = aws-email
如果它不存在,则添加一个新的行与上述内容。
重新启动你的Postfix服务器。
/etc/init.d/postfix restart
请注意,这个命令在特定的服务器上可能不完全相同。 从这一点开始,您的外发电子邮件将通过Amazon SES发送。您可以通过Postfix服务器发送电子邮件,然后validation它是否到达目的地来testing。 如果邮件未送达,请检查系统的邮件日志是否有错误。 在许多系统上,这是/var/log/mail.log
– 我创build了一个简单的博客把所有的东西放在一起,我最近在Amazon Cloud和SES上试过。 这里是链接: http : //netwiser.blogspot.com/2011/02/setup-amazon-ses-to-relay-email-by.html
由于您在您的服务器上托pipePython / Django应用程序,因此您可能会发现将Postfix连接到与AWS Perl脚本相同的Python上是可取的。 本指南有详细信息:
http://aws.amazon.com/articles/2405502737055650
另外,如果你想使用Perl脚本,但发现(像我一样)你的CPAN模块是可怕的过时,一个更简单的路线可能是通过你的操作系统的包pipe理器来安装依赖。 例如,在Ubuntu上,你可以这样做:
sudo apt-get install libio-socket-ssl-perl libxml-libxml-perl