Почему ответы на мои отправленные по SMTP сообщениям Gmail не имеют цепочек? - PullRequest
8 голосов
/ 25 мая 2011

Я отправляю множество подобных писем через SMTP, используя следующий фрагмент Python:

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()

Эти сообщения являются первыми сообщениями в беседе.Удивительно, ответы на эти сообщения не вписываются в диалог исходного сообщения.

Ответ возвращается как отдельное сообщение в моем почтовом ящике, subject = "Re: Hello", без связи с оригиналом .(Очень редко один будет должным образом пронизан, что еще более странно.)

Я проверил, что эти (непоточные) ответы имеют поле References:, которое относится к отправленной почтеПоле идентификатора сообщения, которое было автоматически сгенерировано GMail.

Есть идеи, что я делаю неправильно?

1 Ответ

6 голосов
/ 25 мая 2011

Посмотрите на заголовок References:.Он содержит цепочку предыдущих заголовков Message-ID: в потоке и обычно используется для создания потоков.Обычно рекомендуется указывать Message-ID: самостоятельно, и если вы отслеживаете ранее использовавшиеся, вы можете использовать их в заголовке References: для обеспечения многопоточности.

Message-ID должно бытьглобально уникальный.Они часто конструируются примерно так, но это не является обязательным требованием.

Message-ID: unixtimestamp.somerandomval@sending-hostname
...