在IMAP帐户之间传输大量邮件


11

我必须将许多电子邮件(超过一千封)从旧的IMAP托管提供商转移到新的IMAP托管提供商。我知道我可以在Thunderbird中设置新旧帐户并进行拖放,但是它非常慢并且会不断超时。是否有更好,更自动化的方法在IMAP服务器之间复制所有邮件(和所有邮箱)?

Answers:


8

您可以尝试几种方法:


Google Apps Migration是一个很好的工具,特别是对于Google产品!
JDuarteDJ

机智的Google Apps还请注意,您需要使用Google中的新“控制台”项目设置授权。
JDuarteDJ


7

使用可靠的Mutt(http://www.mutt.org/)。

  1. mutt -f imap://username@sourceimaphost/INBOX/folder
  2. 标记选定的消息t,或标记所有消息,T然后输入~A。(使用T,您可以指定各种模式(http://www.mutt.org/doc/manual/manual-4.html#ss4.2)。
  3. 将标记的消息移动;s(“保存”)并输入imap://username@destimaphost/INBOX/folder。(这会将源消息标记为delete(D);如果您不希望这样做,请使用;C(“ copy”)。)
  4. 您可以根据需要重复2和3。
  5. 退出q。您可以选择清除已删除的消息。

这允许将文件夹从一个帐户移动到另一个帐户。对多个文件夹重复此操作。


1
您也可以使用imaps:代替imap:。如果username零件已经包含@(例如,在Google Apps中),则将其替换为%40。范例:imaps://username%40domain.com@imap.gmail.com/INBOX/folder
musiphil

有Windows版本(无cygwin),但有限制。
JDuarteDJ

4

OfflineIMAP是另一个选项(http://offlineimap.org/)。


我不知道它也可以做同步,但是它确实可以,而且看起来很稳定。好主意!
qris 2014年

需要cygwin :(和python :(
JDuarteDJ

@JDuarteDJ:您是否出于提及的原因而投票!?鉴于这个问题没有对此类事物施加任何限制,那将是非常不合适的。
equaeghe '16

@equaeghe对不起,您认为它不合适。从问题中我可以发现,解决方案应尽可能简单直接。我将为您提供一个事实,即未提及任何操作系统,因此,如果应该考虑使用Linux操作系统,这些限制将不适用,我不能收回它,但是如果可以的话,我会这样做。
JDuarteDJ


0

您也可以使用isync / mbsync。只是使用了它(几天后,由于Google和(特别是)Apple的配额限制)从Gmail抄袭了数十万封电子邮件,以进行iCloud。复制后,通过Web界面在GMail端删除电子邮件变得更加轻松快捷(删除所有内容)。

对于连续重试(由于配额限制而断开连接之后)直到成功复制所有内容,可以像(bash)那样运行它:

$ while date +"%F %T Restarting..." && ! mbsync channel_name; do sleep 3600; done
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.