Python 3.4 邮件发送

4

我真的无法弄清楚这个问题。基本上,我能够轻松地使用Python向自己发送电子邮件,没有问题,现在我将使用电子邮件服务器。与使用谷歌服务器发送电子邮件的方式相同。但是,即使我没有使用SSL,我也遇到了一个愚蠢的问题,称我的SSL握手不正确。以下是我的代码。

server = smtplib.SMTP ()
server.connect("mail.xxxxx.com:587")
server.set_debuglevel(True)

server.starttls()
server.ehlo()

server.login(sender, "xxxxx")

server.sendmail(sender, reciever[1], Msg)

基本上,如果我输入mail.google或其他类似的内容,它应该起作用吗?它确实可以,但是对于我的新邮件却不行,我不知道为什么。这里是我得到的错误信息。

self._sslobj.do_handshake()
ssl.SSLError: [SSL: TLSV1_ALERT_DECODE_ERROR] tlsv1 alert decode error (_ssl.c:600)

非常感谢您的帮助。


您正在调用 starttls,这将使连接进入 TLS 模式。 - Paulo Almeida
但是当我不调用它时,电子邮件不会发送,即使我调用它,电子邮件也不会发送。 - cunniemm
您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - Paulo Almeida
哈哈,我已经有了 :) 但它仍然没有发送,老实说我真的搞不明白这是为什么哈哈。 - cunniemm
1个回答

1

现在您已经进入了Python发送电子邮件的领域,请尝试使用yagmail。免责声明:我是维护者,但我觉得它可以帮助每个人!

它真的提供了很多默认设置:我相信您肯定能够直接发送电子邮件:

import yagmail
yag = yagmail.SMTP('username', 'password') # possibly host and port arguments
yag.send(to_addrs, contents = msg)

你需要先安装yagmail,可以使用以下任一方式:

pip install yagmail  # python 2
pip3 install yagmail # python 3

一旦您想要嵌入HTML/图像或添加附件,您将非常喜欢这个包!它还可以通过防止您在代码中使用密码使其更加安全。

哇,这个包真是太棒了。非常感谢!我会向我认识的每个人推荐它! - cunniemm
@BSD_ 非常感谢 :) - PascalVKooten

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接