我使用以下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:Hello”,与原始无关。 (偶尔会有一个将正确穿线,这甚至更奇怪。)
我已经验证这些(非线程)回复有一个References:字段,该字段引用已发送邮件的Message-ID字段,该字段由GMail自动生成。
知道我做错了吗?
答案 0 :(得分:6)
查看References:
标题。它包含线程中先前Message-ID:
标头的链,通常用于线程。通常最好自己指定Message-ID:
,如果您跟踪以前使用过的References:
,可以在Message-ID
标题中使用它们来强制执行线程。
Message-ID: unixtimestamp.somerandomval@sending-hostname
应该是全球唯一的。它们通常被构造成这样的东西,但它不是必需的。
{{1}}