永远不会收到从python脚本发送的电子邮件

时间:2012-10-13 10:08:11

标签: python email smtp

我知道这里有很多次。我读了所有的问题,但我还是无法让它发挥作用。

我试图从python脚本发送电子邮件:

msg= MIMEText('MESSAGE_TEXT')
msg['Subject']= 'SUBJECT'
msg['From']= 'from@example.com'
msg['To']= 'to@example.com'
s= smtplib.SMTP(host='localhost', port=1025)
s.sendmail('from@example.com', ['to@example.com'], msg.as_string())
s.quit()

我通过这样做运行本地python SMTP服务器:

python -m smtpd -n -c DebuggingServer localhost:1025

当我运行脚本时,我在SMTP服务器中得到它:

---------- MESSAGE FOLLOWS ----------
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: SUBJECT
From: from@example.com
To: to@example.com
X-Peer: 127.0.0.1

MESSAGE_TEXT

------------ END MESSAGE ------------

所以似乎服务器正在运行,但是从未收到过电子邮件(我也检查了垃圾邮件文件夹) 我意识到我可以使用gmail的SMTP服务器,但我真的不想这样做。这里可能出现什么问题?

1 个答案:

答案 0 :(得分:1)

当您不知道服务器如何响应时,这很棘手。

我建议您做的是连接到SMTP服务器并使用telnet尝试send the email manually。既然你正在使用Python,我猜它是一个* NIX系统。但telnet(如示例所示)在那里也很有用(或者netcat)。

通过这种方式,您可以获得手中的信息,而且您不必再猜测了。