抱歉,如果我说得不够清楚,但我不了解所有的术语,因为我是这个领域的新手。抱歉,我的英语不好。
作为备份,我拥有来自旧提供商的所有电子邮件,这些电子邮件以多种文件夹和文件的形式存在(这些文件是普通的电子邮件文件 - 这些文件夹似乎是网络邮件中原始文件夹的扁平结构)。
我需要通过 google-apps 将所有旧邮件导入到 gmail 上的新电子邮件帐户。
我尝试过的:
- 我使用 Emailchemy 转换文件夹,似乎可以重建旧电子邮件帐户的文件夹结构。(到目前为止,我只尝试了演示版本)
- 然后我在 thunderbird 上创建了一个电子邮件帐户,并通过 imap 连接到 gmail 上的一个邮件帐户。
- 然后我尝试使用导入/导出 thunderbird 插件将转换后的邮件文件和原始邮件文件导入 thunderbird 帐户。
结果:
如果我尝试导入 mbox 文件,thunderbird 会告诉我无法将 mbox 文件导入 imap 帐户。
如果我导入文件夹,虽然会创建部分文件夹,但不是全部,而且其中没有邮件。
我能做什么?你如何称呼我的问题: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 帐户上更改了名称,并重新创建了文件夹结构,导出后该结构就变得平坦了。