我想自动执行本地备份我的 Gmail 帐户的过程,并且正在寻找以下解决方案:
- 可以安排在后台运行
- 不会导致邮件被标记为已读
在 Ubuntu 中有哪些资源可用于执行此操作?
答案1
离线地图 是一种流行的解决方案。
在 GMail 中启用 IMAP
- 登录 Gmail。
- 点击任意 Gmail 页面顶部的“设置”。
- 单击转发和 POP/IMAP。
- 选择启用 IMAP。
- 配置您的 IMAP 客户端并单击“保存更改”。
设置 offlineimap
安装后创建一个.offlineimaprc
[general]
accounts = GMail
maxsyncaccounts = 3
[Account GMail]
localrepository = Local
remoterepository = Remote
autorefresh = 10 #refresh every 10 minutes
quick = 5 #Quick-syncs do not update if the only changes were to IMAP flags
[Repository Local]
type = Maildir
localfolders = /whatever/directory
[Repository Remote]
type = IMAP
remotehost = imap.gmail.com
remoteuser = [email protected]
remotepass = your_password
ssl = yes
maxconnections = 1
#Setting realdelete = yes will Really Delete email from the server.
#Otherwise "deleting" a message will just remove any labels and
#retain the message in the All Mail folder.
realdelete = no
然后您需要运行 offlineimap。
使用 cron 自动执行 offlineimap
在某些情况下,一直运行 offlineimap 会消耗大量内存,特别是当您有一个很大的邮箱时,因此您可以将 offlineimap 检查添加到 cron 中,只需检查它然后退出,这里是每日备份:
@daily offlineimap -u Noninteractive.Basic
备份 offlineimap
这些文件将位于您在 localfolders 行中定义的任何位置,作为邮箱目录。您可以使用任何备份方法来备份它:
参考
答案2
另一种方法是使用fetchmail
。fetchmail 可以使用 pop3s 和 imap4s 来访问 Google。网上有关于如何配置的教程。
答案3
我已经做了一些研究如何备份 IMAP 账户比较了不同可用工具与一组所需功能和关注点。结果,我使用了offlineimap
,如上文所述。(我保存的比较仍然可能有助于查看更大的图景。)此外,我总结(回答相关问题)有关用于备份 IMAP 帐户并将其存储在 Git 中的此类解决方案的架构的一些要点。