使用smtpd.debuggingserver作为STMP服务器从Python发送电子邮件



我正在尝试使用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.

因此,该模块实际上没有发送电子邮件。它在终端中打印。

相关内容

  • 没有找到相关文章

最新更新