web-dev-qa-db-ja.com

オフラインimap不明なSSLプロトコルエラー

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 answerget_keychain_pass関数は このofflineimap構成 からです。

OS X10.10.4でHomebrewでビルドされたofflineimap6.5.7を使用しています。

1
Divinenephron

この問題は、HomebrewのバージョンのpythonバージョンではなくApple)をインストールしたときに始まりました。エラーは、実行することで解決されました。

brew uninstall python

OS X上の別のPythonプログラムによって生成された 同様のエラー )について読んで、これが解決策であることを発見しました。

5
Divinenephron

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)も正しく機能するようになりました。

1
Trey Blancher