-1

我正在尝试将 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,我就可以获取每封电子邮件的标志、时间和内容,并将其附加到新服务器上。

4

1 回答 1

4

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

FETCH 1:* X-GM-MSGID

但是,有更好的方法。
完全在 All Mail 文件夹中操作(\AllMail来自 XLIST),并为每封邮件获取和存储 X-GM-LABELS。

于 2012-12-11T16:32:49.387 回答