5

我正在尝试使用 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 地址的电子邮件。这可能是这里发生的事情吗?

4

1 回答 1

11

根据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.

所以该模块实际上并不发送电子邮件。它在终端中打印它。

于 2014-05-11T01:42:40.823 回答