我是以下python脚本
import sys
from smtplib import SMTP
from email.mime.text import MIMEText
class EmailSender():
def send_email(self, msg_text):
SMTPserver = ‘localhost'
conn = SMTP(SMTPserver)
try:
sender = ‘someone@something.com'
destination = 'someone2@something.com'
text_subtype = 'plain'
msg = MIMEText(msg_text, text_subtype)
msg['Subject']= "subject"
msg['From'] = sender
msg['To'] = destination
conn.sendmail(sender, [destination], msg.as_string())
except Exception, exc:
sys.exit( "mail failed; %s" % str(exc) ) # give a error message
finally:
conn.close()
脚本运行正常而不报告任何错误,但我在邮件中看不到任何内容。 后缀也在运行
sudo postfix start
netstat -an | grep 'LISTEN'| grep 25
tcp4 0 0 127.0.0.1.25 *.* LISTEN
请发现我的错误。我通过
来称呼它email_sender = EmailSender()
email_sender.send_email("SOMETHING BROKE!")
答案 0 :(得分:0)
好的,这是交易。我将上面脚本中的目的地编辑成了一个gmail帐户,它就像一个魅力。那么问题是什么? ' someone2@something.com'目标基本上由Microsoft电子邮件服务器支持。我尝试通过
发送电子邮件echo "testing mail" | mailx -s "this is a test email from `hostname`" someone2@something.com
并看到它以/ var / email / user结尾。发送失败报告如下:
最终收件人:rfc822; someone2@something.com 行动:失败 现状:5.7.1 远程MTA:dns; .... protection.outlook.com 诊断代码:smtp;暂停服务;客户主机 使用FBLW15阻止;要求从此列表中删除 请将此消息转发至delist@messaging.microsoft.com
所以微软阻止电子邮件从我的机器上出来。