我正在尝试使用python发送电子邮件并使用以下代码:
import smtplib
import datetime
SERVER = "localhost"
PORT = 1025
FROM = "me@mydevice.com"
TO = ["myemailaddress@something.com"]
SUBJECT = "test"
dt = datetime.datetime.now()
TEXT = "blabla bla @ " + str(dt)
message = """
From: %s
To: %s
Subject: %s
%s
""" % (FROM, ",".join(TO), SUBJECT, TEXT)
server = smtplib.SMTP(SERVER, PORT)
server.sendmail(FROM, TO, message)
server.quit()
没有已经安装/设置的任何STMP服务器,我只使用了以下方式:
python -m smtpd -n -c DebuggingServer localhost:1025
代码似乎运行良好,没有错误,服务器甚至会通知我:
---------- MESSAGE FOLLOWS ----------
From: me@mydevice.com
To: myemailaddress@something.com
Subject: test
X-Peer: 127.0.0.1
blabla bla @ 2014-01-29 14:44:37.219724
------------ END MESSAGE ------------
'myemailaddress@something.com'
当然是'me@mydevice.come'
时真实的现有电子邮件地址的表示。
,但没有电子邮件到达myemailaddress@something.com ...
我在这里错过了一些明显的东西吗?
我在某个地方阅读了(对不起,但找不到了),服务喜欢Gmail可能会阻止来自非静态IP地址的电子邮件。这可能是这里发生的事情吗?
根据SMTPD模块上的Python文档:
class smtpd.DebuggingServer(localaddr, remoteaddr)
Create a new debugging server. Arguments are as per SMTPServer.
Messages will be discarded, and printed on stdout.
因此,该模块实际上没有发送电子邮件。它在终端中打印。