【发布时间】:2014-01-31 07:07:18
【问题描述】:
import smtplib
sender = 'den.callanan@gmail.com'
receiver = ['callanden@gmail.com']
message = """From: From Person <den.callanan@gmail.com>
To: To Person <callanden@gmail.com>
Subject: SMTP e-mail test
This is a test e-mail message.
"""
try:
print("trying host and port...")
smtpObj = smtplib.SMTP('smtp.gmail.com', 465)
print("sending mail...")
smtpObj.sendmail(sender, receiver, message)
print("Succesfully sent email")
except SMTPException:
print("Error: unable to send email")
我在同一台服务器 (gmail) 上创建了两个新的电子邮件帐户(上图)来测试这一点。 它达到了打印“正在尝试主机和端口...”的地步,并且不再继续。所以问题应该出在我输入的地址和端口号上。但根据 gmail 的外发邮件服务器详细信息,我已正确输入它们。有什么想法吗?
如果我删除端口号或尝试其他端口号,例如 587,则会收到错误消息。
【问题讨论】:
-
启用来自
smtplib的诊断,这样您就可以看到哪里出了问题。在这个细节层次上,我们所能做的就是猜测。我的猜测是 Gmail 需要身份验证,在这种情况下,请查看任何近乎重复的帝国垃圾。
标签: python email smtp gmail smtplib