Outlook 2010和Python电子邮件smtplib - 适当字段中的信息

时间:2013-08-16 12:18:41

标签: python sendmail python-2.6 outlook-2010 smtplib

尝试使用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"

输出是电子邮件已成功发送。它是。不太对劲。

1 个答案:

答案 0 :(得分:1)

尝试s.set_debuglevel(1)检查发生了什么。

代码看起来不错。

您可能会在SMTP上被拒绝:

smtplib.SMTPRecipientsRefused: {'example@amail.com': (550, b'5.7.1 Unable to relay')}