offlineimap
を使用して、複数のIMAPサーバーからメールをフェッチしています。これは以前は機能していましたが、現在はofflineimap
がメールをフェッチできず、次のエラーが発生しています。
*** Processing account example
Establishing connection to imap.gmail.com:993
ERROR: Unknown SSL protocol connecting to Host 'imap.gmail.com' for
repository '<redacted>'. OpenSSL responded:
[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)
*** Finished account 'example' in 0:00
私の構成の関連部分は次のとおりです。
[Account example]
localrepository = local-example
remoterepository = remote-example
[Repository local-example]
type = Maildir
localfolders = ~/mail/example
[Repository remote-example]
maxconnections = 1
type = Gmail
remotehost = imap.gmail.com
remoteuser = [email protected]
remotepasseval = get_keychain_pass(account="[email protected]",
server="imap.gmail.com")
ssl = yes
sslcacertfile = /usr/local/etc/openssl/certs/dummycert.pem
sslcacertfile
構成は、 this SO answer 。get_keychain_pass
関数は このofflineimap構成 からです。
OS X10.10.4でHomebrewでビルドされたofflineimap
6.5.7を使用しています。
この問題は、HomebrewのバージョンのpythonバージョンではなくApple)をインストールしたときに始まりました。エラーは、実行することで解決されました。
brew uninstall python
OS X上の別のPythonプログラムによって生成された 同様のエラー )について読んで、これが解決策であることを発見しました。
AppleとHomebrewバージョンのPythonをインストールする必要があります。pipからインストールする必要があるパッケージがいくつかあり、管理アクセス権がありません。この仕事で発行されたMacbookProです。したがって、私が利用できる唯一のpipはHomebrew用です。最終的には、offlineimap.pyスクリプトを起動する前に次のPYTHONPATHを設定します。
PYTHONPATH="/Library/Python/2.7/site-packages" exec "/Users/tblancher/homebrew/Cellar/offlineimap/7.0.7/libexec/offlineimap.py" "$@"
また、offlineimap.pyスクリプト自体も変更しました。私はこれから最初の行を変更しました:
#!/usr/bin/env python
これに:
#!/usr/bin/python
どうやらenvはそれがHomebrewにあることを認識していたので、Homebrewpythonを使おうとしました。オフラインimapが正しく機能するようになり、Homebrew-pip-installed Pythonパッケージ(興味があればmutt-ics)も正しく機能するようになりました。