gpt4 book ai didi

ssl - 在 Windows 上的 Emacs gnus 中打开 gmail nnimap 服务器时遇到问题

转载 作者:太空宇宙 更新时间:2023-11-03 12:58:12 28 4
gpt4 key购买 nike

我正在尝试使用 Emacs gnus 连接到我的 gmail 帐户。这是相关配置代码,大部分取自from here :

(setq tls-program '("openssl s_client -CAfile C:/Users/GGustafson/gmail.crt -connect %h:%p -no_ssl2 -ign_eof"))

(setq gnus-select-method '(nnimap "gmail"
(nnimap-address "imap.gmail.com")
(nnimap-server-port 993)
(nnimap-stream ssl)
(nnimap-authinfo-file "~/.authinfo")))

(setq message-send-mail-function 'smtpmail-send-it
smtpmail-starttls-credentials '(("smtp.gmail.com" 587 nil nil))
smtpmail-auth-credentials '(("smtp.gmail.com" 587 "gordon3.14@gmail.com" nil))
smtpmail-default-smtp-server "smtp.gmail.com"
smtpmail-smtp-server "smtp.gmail.com"
smtpmail-smtp-service 587)

当我重新启动、启动 emacs 并执行 M-x gnus 时,我得到这些 *Messages*:

Opening connection to imap.gmail.com via tls...
gnutls.c: [1] (Emacs) GnuTLS library not found
Opening TLS connection to `imap.gmail.com'...
Opening TLS connection with `openssl s_client -CAfile C:/Users/GGustafson/gmail.crt -connect imap.gmail.com:993 -no_ssl2 -ign_eof'...done
Opening TLS connection to `imap.gmail.com'...done
nnimap (gmail) open error: 'depth=3 C = US, O = Equifax, OU = Equifax Secure Certificate Authority^M
'. Continue? (y or n) y

这里究竟发生了什么?以前我遇到了一些verify error:num=20:unable to get local issuer certificate 错误,但我通过 following these instructions 修复了这些错误,它让我添加了 -CAfile 参数和相应证书的副本。

为了确认这一点,我可以这样做:

C:\Users\GGustafson>openssl s_client -CAfile C:/Users/GGustafson/gmail.crt -connect imap.gmail.com:993 -no_ssl2 -ign_eof
CONNECTED(00000003)
depth=3 C = US, O = Equifax, OU = Equifax Secure Certificate Authority verify return:1
depth=2 C = US, O = GeoTrust Inc., CN = GeoTrust Global CA verify return:1
depth=1 C = US, O = Google Inc, CN = Google Internet Authority G2 verify return:1
depth=0 C = US, ST = California, L = Mountain View, O = Google Inc, CN = imap.gmail.com verify return:1
---
Certificate chain
0 s:/C=US/ST=California/L=Mountain View/O=Google Inc/CN=imap.gmail.com
i:/C=US/O=Google Inc/CN=Google Internet Authority G2
1 s:/C=US/O=Google Inc/CN=Google Internet Authority G2
i:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA
2 s:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA
i:/C=US/O=Equifax/OU=Equifax Secure Certificate Authority
---
Server certificate
-----BEGIN CERTIFICATE-----
****SNIP****
Start Time: 1387083719
Timeout : 300 (sec)
Verify return code: 0 (ok)
---
* OK Gimap ready for requests from 128.84.124.191 el7if9939594qeb.109

为了能够使用 gnus 阅读我的 Gmail,我错过了什么?我在 Windows 7 上使用 Cygwin openssl。

最佳答案

要在 Windows 7 上从 gnus 连接到 gmail,我需要做的一件事是:

;; So gnutls can find trustfiles on windows
(eval-after-load "gnutls"
'(progn
(setq gnutls-trustfiles '("c:/cygwin/usr/ssl/certs/ca-bundle.trust.crt" "c:/cygwin/usr/ssl/certs/ca-bundle.crt"))))

除此之外,其余设置类似:

(setq gnus-secondary-select-methods
'(
(nnimap "gmail"
(nnimap-address "imap.gmail.com")
(nnimap-server-port 993)
(nnimap-stream ssl)
(nnir-search-engine imap)
(nnimap-authinfo-file "~/.authinfo")
)
(nntp "news.gmane.org")
(nnfolder "archive"
(nnfolder-directory "~/Documents/Text/Gnus/Mail/archive")
(nnfolder-active-file "~/Documents/Text/Gnus/Mail/archive/active")
(nnfolder-get-new-mail nil)
(nnfolder-inhibit-expiry t))))

能够正常阅读来自 gmail 的邮件。

关于ssl - 在 Windows 上的 Emacs gnus 中打开 gmail nnimap 服务器时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20591415/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com