我知道这里有很多次。我读了所有的问题,但我还是无法让它发挥作用。
我试图从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服务器,但我真的不想这样做。这里可能出现什么问题?
答案 0 :(得分:1)
当您不知道服务器如何响应时,这很棘手。
我建议您做的是连接到SMTP服务器并使用telnet尝试send the email manually。既然你正在使用Python,我猜它是一个* NIX系统。但telnet(如示例所示)在那里也很有用(或者netcat)。
通过这种方式,您可以获得手中的信息,而且您不必再猜测了。