11

PHP と IMAP を使用して Gmail からメールを取得しています。ただし、一部のメールにはメッセージ ID がありません。すべてのメッセージにメッセージ ID があるはずではありませんか?

参照用に一意の ID が必要なので、ID なしでメールを追跡する方法がわかりません。

私は何か間違ったことをしていますか?

たとえば、これは私が得る電子メールヘッダーです

 [date] => Sun, 06 Nov 2011 21:21:56 -0500
    [subject] => Daylight Saving Time?  Chili's Saving Time!
    [to] => -------@gmail.com
    [message_id] => 
    [from] => ChilisCorp@---.com
    [sender] => ChilisCorp@----.com
    [reply_toaddress] => ChilisCorpeclubsupport@---.com
    [size] => 14385
    [msgno] =>  156
    [status] => Unread

ありがとう

4

2 に答える 2

10

私が今までに遭遇したMTAは、メッセージIDがまだ存在しない場合は、メッセージIDを追加します。ただし、メッセージを追跡したりスレッド化したりする必要がある場合は、を設定する必要がありますMessage-IDReferencesヘッダーとヘッダーは、前のIn-Reply-To値を使用しMessage-IDてメッセージを関連付けます。

ReferencesMessage-ID応答チェーン内の以前の値のリストが含まIn-Reply-ToMessage-ID、現在のメッセージが直接応答である宛先が含まれます。

RFC-2822仕様によれば、メッセージIDは技術的には必要ないことに注意してください。正常に動作するMTAには通常1つ含まれますが、以下の一部のコメント提供者は、メッセージIDが存在せず、メッセージングクライアントで障害が発生した場合について説明しています。

于 2011-12-15T00:36:23.780 に答える