3

メッセージが配信されたかどうかを示すサーバーステータス(例:200、500)のサーバーから応答を取得したい。どうやってするか?

>> s = smtplib.SMTP('...')
>> resp = s.sendmail('me@me.com', 'exist@email.com', 'message')
>> print resp
{}
>> resp = s.sendmail('me@me.com', 'does-not-exist-email@email.com', 'message')
>> print resp
{}
>> resp = s.sendmail('me@me.com', 'does-not-exist-domain@email000.com', 'message')
>> print resp
{}

o_O

ありがとう。

4

2 に答える 2

5

できません。SMTP はその動作をサポートしていません。

于 2014-06-23T16:48:14.140 に答える
4

これはsendmail、正常に送信された場合の正常な動作です。これはdocsmtplib sourceの両方で確認できます。応答として空の辞書は、サーバーがメッセージを受け入れて各受信者に送信したことを意味します。

配送状況について。SMPT プロトコルは、この段階では、メッセージが受信者に正常に配信されることを保証できません。これは、最初のサーバーがメッセージを受け入れて転送する可能性があることを意味しますが、次のメール ホップ サーバーの 1 つが単純にそれをドロップする可能性があります (もちろん、何らかの理由で、最初のサーバーにはこれらの理由が通知される可能性がありますが、このすべてについて通知する可能性があります)。

メールについてよく言われるように、「メッセージを送信するのは簡単ですが、送信するのは非常に困難です」。

于 2011-12-15T11:18:22.897 に答える