【问题标题】:Synchronise and read Gmail offline, using isync OR offlineimap使用 isync 或 offlineimap 离线同步和阅读 Gmail
【发布时间】:2016-03-18 17:22:52
【问题描述】:

我的目标是从 Gmail 帐户同步我的电子邮件并将它们编入索引以在 Emacs 中搜索和阅读。后者尚不相关,因为我无法将电子邮件同步到我的笔记本电脑。

我正在运行 Mavericks,因此在 Mac Terminal 中工作。

我跟随SO accepted answer and the answer in the same thread 尝试使用offlineimap,以及this (more promising) tutorial on using isync 中的第二种方法(以及mbsync)。两种方式最终都使用 mu 和 Emacs 的接口:mu4e

没有正确读取/解释证书。我不知道为什么,因为我不明白错误消息。这是 offlineimap 中的一个:

> OfflineIMAP 6.5.7
  Licensed under the GNU GPL v2 or any later version (with an OpenSSL exception)
Account sync Gmail:
 *** Processing account Gmail
 Establishing connection to imap.gmail.com:993
 PLAIN authentication failed: [ALERT] Please log in via your web browser: https://support.google.com/mail/accounts/answer/78754 (Failure)
 LOGIN authentication failed: [ALERT] Please log in via your web browser: https://support.google.com/mail/accounts/answer/78754 (Failure)
 ERROR: All authentication types failed:
    PLAIN: [ALERT] Please log in via your web browser: https://support.google.com/mail/accounts/answer/78754 (Failure)
    LOGIN: [ALERT] Please log in via your web browser: https://support.google.com/mail/accounts/answer/78754 (Failure)
 *** Finished account 'Gmail' in 0:01
ERROR: Exceptions occurred during the run!
ERROR: All authentication types failed:
    PLAIN: [ALERT] Please log in via your web browser: https://support.google.com/mail/accounts/answer/78754 (Failure)
    LOGIN: [ALERT] Please log in via your web browser: https://support.google.com/mail/accounts/answer/78754 (Failure)
> 
> Traceback:   File
> "/usr/local/Cellar/offline-imap/6.5.7/libexec/offlineimap/accounts.py",
> line 263, in syncrunner
>     self.__sync()   File "/usr/local/Cellar/offline-imap/6.5.7/libexec/offlineimap/accounts.py",
> line 326, in __sync
>     remoterepos.getfolders()   File "/usr/local/Cellar/offline-imap/6.5.7/libexec/offlineimap/repository/IMAP.py",
> line 351, in getfolders
>     imapobj = self.imapserver.acquireconnection()   File "/usr/local/Cellar/offline-imap/6.5.7/libexec/offlineimap/imapserver.py",
> line 451, in acquireconnection
>     self.__authn_helper(imapobj)   File "/usr/local/Cellar/offline-imap/6.5.7/libexec/offlineimap/imapserver.py",
> line 366, in __authn_helper
>     "failed:\n\t%s"% msg, OfflineImapError.ERROR.REPO)

这是 mbsync 中的一个:

> C: 0/3  B: 0/2  M: +0/0 *0/0 #0/0  S: +0/0 *0/0 #0/0
Error while loading certificate file '/usr/local/etc/openssl/certs/Equifax.crt': error:00000000:lib(0):func(0):reason(0)
C: 3/3  B: 0/2  M: +0/0 *0/0 #0/0  S: +0/0 *0/0 #0/0

我已经用 Homebrew 安装了所有东西,并按照教程使用文件夹。问题来自证书,但我不知道问题可能是什么。我在 Gmail 中设置了允许 IMAP 并允许连接不太安全的应用程序。

如何以不同的方式处理证书?

【问题讨论】:

  • 你能做到吗? mbsync 我也遇到同样的问题。
  • 我没有让事情如我所愿,所以放弃了。一旦我对证书进行了所有排序,它要么没有同步,要么完全同步了所有内容(所以大约 15Gb 的电子邮件和附件)。我一直在使用普通的gnus,它工作得很好并且有很多功能。如果下面的@brariden 解决方案对您不起作用,我建议坚持使用 gnus,我可以在其中轻松设置加密,以及其他有用的东西,例如 yas-templates

标签: ssl-certificate gmail-imap mu


【解决方案1】:

对于 offlineimap 错误,Google 抱怨您没有使用 Oauth2。按照这里的解释,我解决了同样的离线地图问题:https://github.com/OfflineIMAP/offlineimap/issues/228

您需要将 .offlineimaprc 配置为使用 Oauth2 而不是指定用户名/密码。以下是有关如何生成令牌的模板和说明: https://github.com/OfflineIMAP/offlineimap/blob/master/offlineimap.conf#L764

以下是重要设置:

auth_mechanisms = GSSAPI, CRAM-MD5, XOAUTH2, PLAIN, LOGIN
oauth2_client_secret = ...
oauth2_client_id = ...
oauth2_refresh_token = ...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-14
    • 1970-01-01
    • 1970-01-01
    • 2011-03-10
    • 2016-01-12
    相关资源
    最近更新 更多