【发布时间】:2021-10-07 18:26:27
【问题描述】:
我正在开发一个 CRM,每天我会收到数百封关于报价/要求的电子邮件。我正在构建一个 API 来处理电子邮件并在 CRM 中插入条目。
我正在使用 imap_tools 在我的 API 中获取邮件。但是当有线程/对话时,我被困在了这一点上。我从邮件中阅读了一些关于使用reference 或in-reply-to 标头的文章。但到目前为止很不幸。我也尝试过使用 message-id,但它给了我相同的电子邮件线程而不是多封电子邮件。
我收到一封电子邮件线程/对话作为单个电子邮件,我想获得分开的电子邮件,以便我可以轻松处理它们。
这是我到目前为止所做的。
from imap_tools import MailBox
with MailBox('mail.mail.com').login('abc@abc.com', 'password', 'INBOX') as mailbox:
for msg in mailbox.fetch():
From = msg.headers['from'][0]
To = msg.headers['to'][0]
subject = msg.headers['subject'][0]
received_date = msg.headers['date'][0]
raw_email = msg.text
process_email(raw_email) #processing the email
【问题讨论】:
-
澄清一下,您的意思是在一个电子邮件正文中,您会收到线程中所有以前的电子邮件以及新邮件?
-
是的,我在单个电子邮件正文中收到了所有内容。
-
@Vladimir 你能解释一下你想到的解决方案吗,因为我已经尝试了几乎所有提供的属性。
-
@this 提示使用属性,准备工作。参考或回复您的方式是正确的,但没有魔法
标签: python imap gmail-imap email-parsing email-threading