8

次の Python スニペットを使用して、SMTP 経由で同様の電子メールを多数送信しています。

def send(from_, to, body):
  server = smtplib.SMTP('smtp.gmail.com:587')
  server.ehlo()
  server.starttls()
  server.ehlo()
  server.login('michael@gmail.com', password)
  msg = '''\
From: %s
To: %s
Subject: %s

%s''' % (from_, to.encode('utf-8'), "Hello", body.encode('utf-8'))
  server.sendmail(from_, to, msg)
  server.quit()

これらのメッセージは、会話の最初のメッセージです。Strangley、これらのメッセージへの返信は、元のメッセージの会話にスレッド化されていません.

返信は、元のメッセージとは関係なく、件名 = "Re: こんにちは" という別のメッセージとして受信トレイに返されます。(非常にまれに、適切にスレッド化されることがありますが、これはさらに奇妙です。)

これらの (スレッド化されていない) 返信には、GMail によって自動生成された送信済みメールの Message-ID フィールドを参照する References: フィールドがあることを確認しました。

私が間違っていることは何か分かりますか?

4

1 に答える 1

6

References:ヘッダーを見てください。スレッド内の以前のMessage-ID:ヘッダーのチェーンが含まれており、通常はスレッド化に使用されます。通常はMessage-ID:自分自身を指定することをお勧めします。以前に使用したものを追跡している場合は、それらをReferences:ヘッダーで使用してスレッド化を強制できます。

Message-IDグローバルに一意である必要があります。多くの場合、このようなものとして構築されますが、必須ではありません。

Message-ID: unixtimestamp.somerandomval@sending-hostname
于 2011-05-25T15:14:42.440 に答える