我有python程序向用户发送邮件。虽然有些用户无法收到邮件,但我们也没有收到任何错误消息。即使我发送邮件到未知(无效)的电子邮件地址,该程序也不会显示任何错误。
以下是我的计划。
class SendEmail:
def __init__(self, smtpserver, smtpuser, smtppass, smtpport):
self.smtpserver = smtpserver
self.smtpuser = smtpuser
self.smtppass = smtppass
self.smtpport = smtpport
def send(self, to_list, subject, html):
msgRoot = MIMEMultipart('ralated')
msgRoot['Subject'] = subject
msgRoot['From'] = self.smtpuser
print ";".join(to_list)
msgRoot['To'] = ";".join(to_list)
msgRoot.preamble = 'This is a multi-part message in MIME format.'
msgAlternative = MIMEMultipart('alternative')
msgRoot.attach(msgAlternative)
msgText = MIMEText(html, 'html', 'utf-8')
msgAlternative.attach(msgText)
try:
smtp = smtplib.SMTP(self.smtpserver,self.smtpport)
#smtp.connect(self.smtpserver)
#if self.smtppass != None:
# smtp.login(self.smtpuser, self.smtppass)
smtp.sendmail(self.smtpuser, to_list, msgRoot.as_string())
except smtplib.SMTPException,e:
print smtplib.SMTPException,":",e
smtp.quit()
sendm = SendEmail("###","####",None,25)
sendm.send(['chen_adang92@126.com'],'ECOMM Error Testing','\
This is test email , Please let me know If you get the mail,many thanks!')
答案 0 :(得分:0)
我现在解决了我的问题。 它与python的smtp无关。 我的电子邮件地址是从json文件中提取的。当我从json.load获取时,地址是unicode字符。某些电子邮件服务器无法接受unicode电子邮件地址。所以他们没有收到邮件。