在 GMail 帐户之间传输邮件的稳定方法?Thunderbird 失败

在 GMail 帐户之间传输邮件的稳定方法?Thunderbird 失败

我想在两个 GMail 帐户之间传输约 500 封邮件,从 A 到 B。这些邮件相当大,平均约 5 MB。它们跨越 10 年,我已将它们按年份拆分到 A 上的单独邮箱(标签)中。

然后我尝试使用 Thunderbird 和 IMAP 传输第一年(大约 50 条消息)。12 条消息后失败。我尝试了几次,每次都是 12 条消息后失败,都是同样的 12 条消息(Thundebird 按照从最新到最旧的顺序传输消息,与我对邮箱的排序无关)。

然后我尝试同步/下载所有消息并离线,然后在离线时进行传输。只要我处于离线状态,传输工作正常/看起来正常,但一旦我再次上线并且 Thunderbird 同步了更改,则只会传输相同的 12 条消息。

现在我取消选择已传输的 12 条消息并尝试(几次,每次结果相同)传输剩余的 38 条消息。37 条消息传输顺利,迫使我手动查找剩下的罪魁祸首。

最后我手动传输了最后一条消息 - 第一次尝试也传输成功。WTF!?!?!?

现在我尝试传输下一年的消息,结果还是一样。传输了一堆消息,然后失败了。如果我重复此操作,在失败之前会传输完全相同的消息。如果我尝试传输剩余的消息,则会传输另一堆消息,然后失败。一次又一次。

有没有办法,使用 Thunderbird 或其他工具,使这些传输稳定?我认为,理想情况下,应该有一个脚本,每次传输一条消息,然后验证传输是否成功。


编辑:经过更多的反复试验后,我得出了一些结论:

  1. 我花了几个小时尝试传输 180 条消息,但每次“会话”只传输了 2-5 条(我选择了源帐户中的所有消息并将其复制到目标帐户)。

做完这些后,我把它放在一边一天。当我恢复时,我尝试传输 50 条消息 - 第一次尝试就成功了。我又复制了 50 条消息,再次成功。重复几次(执行这些复制操作时,我按年份划分消息),完全没有问题。

思考我前一天遇到的问题可能是 GMail 允许的连接/会话数量有限,如果失败几次,连接就会保持打开状态,从而导致问题。当我将工作搁置一天时,这些停滞的连接可能已经超时并被释放,从而使执行这些复制变得“更容易”或更稳定。

  1. 我还编写了一个简陋的 Applescript,允许我一次复制一条消息。这“解决”了第一个问题。

它非常基础,它只发送击键、向上/向下箭头然后MessageCopy to [destination mailbox] again

要使用它,您首先必须手动将消息从源复制到目标邮箱,以便菜单Copy to选项正确“设置”。

我相信您可以使用 Windows(如 Autokey)和 Linux 可用的脚本选项做类似的事情。

如果我需要再次使用它,我会让算法稍微智能一些:

  1. 按邮件大小手动对邮箱进行排序
  2. 从最小的信息开始
  3. 在每个循环中将睡眠定时器增加 5 秒或类似的时间(取决于您要传输的消息的大小分布 - 在我的情况下是 500 kB 到 20 MB)。这样,您就不需要等待 2 分钟才能传输所有消息。

脚本如下:

tell application "Thunderbird"
    activate
    delay 2
    repeat 70 times
        tell application "System Events" to keystroke "m" using {command down, option down}
        delay 117
        tell application "System Events" to key code 126 --arrow up
        delay 1
    end repeat
    beep
end tell

答案1

使用 Gmail 的 Web 界面和导入邮件和联系人。传输将由 Gmail 服务器完成,不会使用您的计算机。

发送 Gmail 帐户

  • 打开“设置”,进入“转发和 POP/IMAP
  • 选择“对所有邮件启用 POP(包括已下载的邮件)”
  • 点击“保存更改”
  • 搁笔

接收 Gmail 账户

  • 前往“设置”>“帐户和导入”
  • 选择“导入邮件和联系人”
  • 输入发送 Gmail 帐户的电子邮件地址,然后选择继续
  • 在第 1 步屏幕上再次选择“继续”
  • 登录接收 Gmail 账户
  • 出现提示时选择“允许”,授予 Gmail 访问权限
  • 关闭显示“身份验证成功的窗口”。
  • 选择开始导入
  • 选择“确定”返回 Gmail 的设置页面。

等待 Gmail 在两个 Gmail 帐户之间传输所有电子邮件。您可以从“帐户和导入”屏幕监控该过程。

相关内容