Arch Linuxでは、offlineimap
を使用してこのようにGMailに同期したいと思います。
[general]
accounts = Gmail
maxsyncaccounts = 3
[Account Gmail]
localrepository = LocalGmail
remoterepository = RepositoryGmail
autorefresh = 30
quick = 10
postsynchook = mu index --maildir ~/.offlineimap/Gmail
[Repository LocalGmail]
type = GmailMaildir
localfolders = ~/.offlineimap/Gmail
[Repository RepositoryGmail]
type = Gmail
maxconnections = 2
remoteuser = my.gmail.accountname
remotepass = gmailapppassword
folderfilter = lambda foldername: foldername not in ['[Gmail]/All Mail', '[Gmail]/Important']
sslcacertfile = /etc/ssl/certs/ca-certificates.crt
sSLの問題が原因で失敗します。
$ offlineimap -o -a Gmail
OfflineIMAP 7.2.1
Licensed under the GNU GPL v2 or any later version (with an OpenSSL exception)
imaplib2 v2.57 (bundled), Python v2.7.15, OpenSSL 1.1.1a 20 Nov 2018
Account sync Gmail:
*** Processing account Gmail
Establishing connection to imap.gmail.com:993 (RepositoryGmail)
ERROR: Unknown SSL protocol connecting to Host 'imap.gmail.com' for repository 'RepositoryGmail'. OpenSSL responded:
[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:726)
実行してSSL接続をチェックできることを他の場所で読んだ
$ openssl s_client -showcerts -connect imap.gmail.com:993
[...]
* OK Gimap ready for requests from 217.63.244.188 s26mb317463625edc
これは、エラーが実際にはSSL接続にあるのではなく、offlineimap
がそれを処理する方法にあることを示唆しています。証明書ファイル ``が存在し、GlobalSign Root CA-R2証明書が含まれています。
six
とofflineimap
をそれぞれのpip
sを使用してクリーンなpython2.7とクリーンなpython3.7 virtualenvの両方にインストールし、CERTIFICATE_VERIFY_FAILED
を永続化したことを確認します。
どのようにしたらofflineimapでGMailと通信できますか?
ArchではOpenSSLは1.1.1になり、imaplib2で問題が発生します。
https://github.com/imaplib2/imaplib2/issues/5
説明されているように:
https://github.com/OfflineIMAP/offlineimap/issues/57
あなたはあなたの.offlineimaprcにssl_version = tls1_2を追加することができ、それは問題を解決します