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,对这些消息的回复不会被串入原始消息的对话中。

回复在我的收件箱中作为单独的消息返回,主题 =“回复:你好”,与原件没有任何联系。(偶尔正确穿线,这更奇怪。)

我已经验证这些(非线程)回复有一个 References: 字段,该字段引用已发送邮件的 Message-ID 字段,该字段由 GMail 自动生成。

知道我做错了什么吗?

4

1 回答 1

6

References:标题。它包含Message-ID:线程中先前标题的链,通常用于线程。指定自己通常是一个好主意Message-ID:,如果您跟踪以前使用的那些,您可以在References:标题中使用它们来强制执行线程。

Message-ID应该是全局唯一的。它们通常是这样构造的,但这不是必需的。

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