尝试使用Python 2.6.5中的 smtplib 通过Outlook 2010发送邮件时,我至少会遇到成功发送邮件,但 s.sendmail(FROM,TO,message)< / em>不会将信息放在From:,To:和Subject:行中。
我需要知道如何正确地使用Outlook 2010中的smtplib发送电子邮件,以便通过填写的邮件中的From:,To:和Subject:字段收到电子邮件。
这是我的代码。我用谷歌搜索这个框架:
import smtplib
SERVER = 'mail.company.com'
FROM = 'jdoe@company.com'
TO = ['receiver1@company.com']
SUBJECT = "Test Subject SMTP"
TEXT = "If this is in the body of the email, test is a success!"
message = """From: %s\r\nTo: %s\r\nSubject: %s\r\n
%s
""" % (FROM, ", ".join(TO), SUBJECT, TEXT)
try:
s = smtplib.SMTP(SERVER)
s.sendmail(FROM, TO, message) # this line is not correctly putting info in proper fields for Outlook 2010
s.quit()
print "Successfully sent email."
except:
import sys, traceback
tb = sys.exc_info()[2]
print "An error occurred on line " + str(tb.tb_lineno)
print "Error: unable to send email"
输出是电子邮件已成功发送。它是。不太对劲。
答案 0 :(得分:1)
尝试s.set_debuglevel(1)检查发生了什么。
代码看起来不错。
您可能会在SMTP上被拒绝:
smtplib.SMTPRecipientsRefused: {'example@amail.com': (550, b'5.7.1 Unable to relay')}