1

Python 2.6.5 でsmtplibを使用して Outlook 2010 経由でメールを送信しようとすると、少なくともメッセージの送信に成功しましたが、s.sendmail(FROM, TO, message)は From:、To:、および件名: 私のセリフ。

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"

出力は、電子メールが正常に送信されたことです。そしてそうです。まったく正しくありません。

4

1 に答える 1

1

s.set_debuglevel(1) を試して、何が起こっているかを確認してください。

コードは問題ないようです。

SMTP で拒否される場合があります。

smtplib.SMTPRecipientsRefused: {'example@amail.com': (550, b'5.7.1 Unable to relay')}
于 2013-11-01T12:17:43.337 に答える