Odpowiedzi:
offlineimap to popularne rozwiązanie tego problemu.
Po zainstalowaniu utwórz .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 = your_username@gmail.com
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
Następnie musisz uruchomić mapę offline.
W niektórych przypadkach ciągłe uruchamianie mapy offline może zużywać duże ilości pamięci, szczególnie jeśli masz dużą skrzynkę pocztową, więc możesz dodać zaznaczenie offline map do crona, aby to sprawdzić i wyjść, oto codzienna kopia zapasowa:
@daily offlineimap -u Noninteractive.Basic
Pliki będą znajdować się w tym, co zdefiniujesz w wierszu folderów lokalnych jako Maildir . Możesz wykonać kopię zapasową, używając dowolnej metody tworzenia kopii zapasowej:
Alternatywą byłoby użycie fetchmail
. fetchmail może używać zarówno pop3s, jak i imap4s, aby uzyskać dostęp do Google. Dostępne są samouczki online dotyczące konfiguracji.
Przeprowadziłem badania dotyczące JAK wykonać kopię zapasową konta IMAP, porównując różne dostępne narzędzia z zestawem pożądanych funkcji i problemów. W rezultacie użyłem offlineimap
, jak już zasugerowałem powyżej. (Moje zapisane porównanie wciąż może być przydatne, aby zobaczyć większy obraz.) Podsumowałem (odpowiadając na powiązane pytanie) kilka punktów dotyczących architektury takiego rozwiązania do tworzenia kopii zapasowych konta IMAP i przechowywania go w Git.