0

我希望我的 Python 脚本在出现任何异常时向我发送邮件。我尝试了一些与我发现的 SMTP 相关的代码,但不幸的是它没有执行并显示错误。请帮我找出主要问题。

SMTP 代码:

import smtplib
import string

SERVER = 'localhost'
SUBJECT = "Test email from Python"
TO = "abc.def@defghij.com"
FROM = "python@mydomain.com"
text = "Sample of mail"
BODY = string.join(("From: %s" % FROM,"To: %s" % TO,"Subject: %s" %SUBJECT ,"",text), "\r\n")

server = smtplib.SMTP(SERVER) #Here in this line it showing error 

server.sendmail(FROM,TO,BODY)

server.quit()

** 错误消息*服务器 = smtplib.SMTP(SERVER)

socket.error: (10047, '协议族不支持地址族:参见http://wiki.python.org/jython/NewSocketModule#IPV6addresssupport ')

4

2 回答 2

0

你可以用 yagmail 试试这个,它会更方便:

from yagmail import SMTP
SMTP(FROM).send(TO, SUBJECT, text)

它真的只需要这么多,如果你做了一些设置,你已经注册并且安全(不需要在脚本中写你的用户名和密码)。

在github 上阅读有关它的更多信息。

于 2015-04-29T21:23:58.023 回答
0

我用 Jython 2.5.3 和 Python 2.7 测试了这段代码,如果我SERVERlocalhost真正的 SMTP 服务器更改它就可以工作。我从我的电子邮件客户端配置中获取了 SMTP 服务器地址。

于 2013-01-28T09:59:16.930 回答