gmail IMAP克隆邮箱:发出具有相同UID的重复电子邮件

时间:2012-12-11 16:24:59

标签: python email imap google-apps

我正在尝试将Google Apps邮箱复制到另一个Google帐户。我在Python中使用IMAP库。

我能够为每个邮箱获取唯一的UID。我可以使用你的UID从每个邮箱下载每条消息。

问题是唯一的UID是每个邮箱,而不是每个帐户。例如,一封电子邮件可能位于两个邮箱中,或者具有两个标签。它将显示为两个单独的UID。如果我下载两次电子邮件,则不再是同一封电子邮件。当一个被删除时,另一个将被保留,等等。

Gmail有一个X-GM-MSGID,可根据该帐户提供唯一ID。

目前,我知道获得此X-GM-MSGID的唯一方法是首先获取UID并请求它的X-GM-MSGID。如果收件箱有10,000封电子邮件,这将成为很多请求。是否有另一种方法可以将所有电子邮件的X-GM-MSGID放入所有邮箱的收件箱中,甚至更好?

我相信一旦我拥有每封电子邮件的唯一ID,我就可以获取每封电子邮件的标志,时间和内容,并将其附加到新服务器上。

1 个答案:

答案 0 :(得分:4)

您可以使用批量提取获取多个X-GM-MSGID:

FETCH 1:* X-GM-MSGID

但是,有一种更好的方法 完全在All Mail文件夹(XLIST的\AllMail)内操作,并为每条消息FETCH和STORE X-GM-LABELS。