将 Imap 文件和文件夹导入到 ubuntu 上的 gmail 账户

将 Imap 文件和文件夹导入到 ubuntu 上的 gmail 账户

抱歉,如果我说得不够清楚,但我不了解所有的术语,因为我是这个领域的新手。抱歉,我的英语不好。

  1. 作为备份,我拥有来自旧提供商的所有电子邮件,这些电子邮件以多种文件夹和文件的形式存在(这些文件是普通的电子邮件文件 - 这些文件夹似乎是网络邮件中原始文件夹的扁平结构)。

  2. 我需要通过 google-apps 将所有旧邮件导入到 gmail 上的新电子邮件帐户。

我尝试过的:

  1. 我使用 Emailchemy 转换文件夹,似乎可以重建旧电子邮件帐户的文件夹结构。(到目前为止,我只尝试了演示版本)
  2. 然后我在 thunderbird 上创建了一个电子邮件帐户,并通过 imap 连接到 gmail 上的一个邮件帐户。
  3. 然后我尝试使用导入/导出 thunderbird 插件将转换后的邮件文件和原始邮件文件导入 thunderbird 帐户。

结果:

  1. 如果我尝试导入 mbox 文件,thunderbird 会告诉我无法将 mbox 文件导入 imap 帐户。

  2. 如果我导入文件夹,虽然会创建部分文件夹,但不是全部,而且其中没有邮件。

我能做什么?你如何称呼我的问题:D?

答案1

这不是最好的解决方案,但似乎同步是处理该问题的一个好方法。

一个问题是,谷歌限制了允许的数据量,所以你需要一遍又一遍地触发同步。所以如果你上传大型电子邮件账户,它会持续很长时间。

这是我的配置.mbsyncrc

IMAPAccount gmail
Host imap.gmail.com
User emailaddress
Pass password
UseIMAPS yes
CertificateFile /etc/ssl/certs/ca-certificates.crt

IMAPStore gmail-imap
Account gmail


MaildirStore gmail-local
# you have to manually create ~/.mbsync/gmail/ 
Path /path/to/Maildir/
# Inbox required, even if one specifies  :gmail-local:INBOX
# otherwise it goes in ~/Maildir
Inbox /path/to/Maildir/


Channel gmail-inbox
Master :gmail-imap:
Slave :gmail-local:
MaxSize 25MB
Pattern *
Create Both
Expunge Slave
Sync Push
SyncState *

我用这个shell脚本来处理google重置连接的问题:

while true; do
    mbsync gmail-inbox
    echo "5 minutes pause to next try"
    sleep 240
    echo "one minute remaining"
    sleep 60
done

如果您的文件夹以 开头,.则需要删除点。也许用这一行:

for f in .*; do mv $f "`echo $f | cut -c2- `"; done

现在我可以把它留到明天了:)

评论

我遇到过一些文件夹的问题,这些文件夹的名称或变音符号包含许多字符,变音符号的子元素也很多。然后 mbsync 发出一个错误,提示缓冲区太小。更改名称对我有帮助。然后我在 gmail 帐户上更改了名称,并重新创建了文件夹结构,导出后该结构就变得平坦了。

相关内容