我被要求做一些系统管理,并将遗留的PHP Web应用程序移动到运行Debian的Amazon EC2实例。我已经这样做了,电子邮件正在成功地从postfix发送。
先前的系统管理员表示担心服务器没有使用电子邮件中继,请求使用SES似乎是直截了当的。我已经从Rackspace实例中使用Mailgun实现了一个邮件中继,虽然不是很简单,但我在几个小时内就完成了。
我没有发现SES过程如此简单,我怀疑这是因为我不熟悉使用证书。
最初,我使用这里的说明设置服务http://docs.aws.amazon.com/ses/latest/DeveloperGuide/postfix.html
[电子邮件smtp.us-west-2.amazonaws.com]:25用户名:密码
>
postmap散列:/etc/postfix/sasl\u passwd
创造sasl_passwd.db
>
/etc/postfix/master.cf没有smtp_fallback_relay
我通过安装apt-get-install-sasl2-bin和
openssl req-x509-nodes-days 365-newkey rsa:2048-keyout服务器。密钥输出服务器。阴极射线管
并在我的main.cf(在这篇文章的结尾)指向这个后缀。
我正在使用sendmail通过Python发送电子邮件
SENDMAIL = "/usr/sbin/sendmail" # sendmail location FROM = "andy@travelinsurancequotes.com.au" #TO = ["kirstie@travelinsurancequotes.com.au", "jason@slatescience.com"] TO = ["jason@slatescience.com"] SUBJECT = "Artog SMTP server is working!" TEXT = "Sending emails on the TIQ webserver is working" # Prepare actual message message = """\ From: %s To: %s Subject: %s %s """ % (FROM, ", ".join(TO), SUBJECT, TEXT) # Send the mail import os p = os.popen("%s -f %s -t -i" % (SENDMAIL, FROM), "w") p.write(message) status = p.close() if status: print "Sendmail exit status", stat
但我在发送时不断收到超时错误:
Feb 26 03:18:19 lamp postfix/error[23414]: 5DE3240508: to=<jason@slatescience.com>, relay=none, delay=0.02, delays=0.02/0/0/0, dsn=4.4.1, status=deferred (delivery temporarily suspended: connect to email-smtp.us-west-2.amazonaws.com[54.187.123.10]:25: Connection timed out
我可以通过25端口连接
root@lamp /home/www# telnet email-smtp.us-west-2.amazonaws.com 25 Trying 54.149.142.243... Connected to ses-smtp-us-west-2-prod-14896026.us-west-2.elb.amazonaws.com. Escape character is '^]'. 220 email-smtp.amazonaws.com ESMTP
我main.cf档案是
myhostname = travelinsurancequotes.com.au mydomain = travelinsurancequotes.com.au inet_interfaces = all mynetworks_style = host local_destination_recipient_limit = 300 local_destination_concurrency_limit = 5 recipient_delimiter=+ smtpd_banner = $myhostname smtpd_sasl_auth_enable = yes smtp_sasl_mechanism_filter = plain smtpd_sasl_local_domain = $myhostname broken_sasl_auth_clients = yes smtpd_helo_required = yes smtp_use_tls = yes smtpd_use_tls = yes smtp_tls_note_starttls_offer = yes smtpd_tls_key_file = /etc/postfix/sslcerts/server.key smtpd_tls_cert_file = /etc/postfix/sslcerts/server.crt smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s tls_random_source = dev:/dev/urandom relayhost = [email-smtp.us-west-2.amazonaws.com]:25 smtp_sasl_auth_enable = yes smtp_sasl_security_options = noanonymous smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_use_tls = yes smtp_tls_security_level = encrypt smtp_tls_note_starttls_offer = yes smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
AWS EC2对发送的邮件有某种限制。。
我犯了这个错误,Amazon支持人员告诉我填写此表格以取消限制。
https://aws.amazon.com/forms/ec2-email-limit-rdns-request
我希望这有帮助
需要帮助:如何使用内嵌图像发送电子邮件? 响应返回200 OK,但未发送电子邮件。但是当我删除$信息时- 我用{{$讯息-
问题内容: 我似乎找不到我编写的应该发送带有附件的电子邮件的php函数的问题。我已经为此苦苦挣扎了一段时间了。 编辑 问题是邮件的消息与文件混合在一起并作为附件发送。 问题答案: Artefacto让我更加关注输出,并且找到了解决方法:
问题内容: 我正在尝试在带有附件的codeigniter上发送电子邮件。 我总是成功收到电子邮件。但是,我从未收到带有附件的文件。以下是代码,非常感谢所有评论。 问题答案: $ this- >电子邮件-> attach() 使您可以发送附件。将文件路径/名称放在第一个参数中。注意:使用文件路径,而不是URL。对于多个附件,请多次使用该功能。例如:
我试图从我的应用程序发送电子邮件,我在android上的电子邮件客户端中看到了应有的链接,但当我检查电子邮件接收器时,没有链接。 这是我的代码: “文本”是html。 谢谢你。
我的: 但是邮件不会发送到该地址,在控制台中,当我单击时,正在打印,但它不会发送任何电子邮件。 我用的是Django 1.3.7和Python 2.6。 不知道是版本的问题还是什么逻辑问题。
我正在尝试使用CodeIgniter的电子邮件库发送电子邮件。这是我写的代码。 错误:这是我得到的错误。 遇到以下SMTP错误:0php_network_getaddresses:getaddrinfo失败:名称或服务未知无法发送数据:AUTH LOGIN发送AUTH LOGIN命令失败。错误:无法发送数据:邮件从:从:遇到以下SMTP错误:无法发送数据:RCPT TO:到:遇到以下SMTP错误: