首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >流浪欲望-- OSX -- Emacs -- SMTP认证失败

流浪欲望-- OSX -- Emacs -- SMTP认证失败
EN

Stack Overflow用户
提问于 2013-05-26 19:41:17
回答 3查看 1.6K关注 0票数 2

我能够检索电子邮件和浏览各种文件夹。但是,由于证书错误(下面描述),我无法发送任何电子邮件.互联网上的一些配置为cert文件提供了一个路径,但OSX使用的是密钥链。我还没有在谷歌上找到任何描述如何设置OSX (山狮)的东西。任何帮助都将不胜感激。

我是使用gmail的not

互联网上的其他用户引用了一种类似于此的配置:然而,由于密钥链的使用,OSX上的证书没有这样的文件位置。我想这就是问题所在,但我不完全确定。

我在gnu电子邮件中也遇到了同样的问题,文档声明:

The SMTP server may also request that you verify your identity by sending a certificate and the associated encryption key to the server. If you need to do this, you can use an ~/.authinfo entry like this:

代码语言:javascript
复制
machine mail.example.org port 25 key "~/.my_smtp_tls.key" cert "~/.my_smtp_tls.cert"

这是我的当前配置:

代码语言:javascript
复制
(setq ssl-program-name "/absolute/path/to/gnutls-cli"
      ssl-program-arguments '("--insecure" "-p" service host)
      ssl-certificate-verification-policy 1)

(autoload 'wl "wl" "Wanderlust" t)
(autoload 'wl-other-frame "wl" "Wanderlust on new frame." t)
(autoload 'wl-draft "wl-draft" "Write draft with Wanderlust." t)

;; IMAP
(setq elmo-imap4-default-server "mail.mydomain.com")
(setq elmo-imap4-default-user "myusername") 
(setq elmo-imap4-default-authenticate-type 'login) 
(setq elmo-imap4-default-port '993)
(setq elmo-imap4-default-stream-type 'ssl)


(setq elmo-imap4-use-modified-utf7 t) 

;; SMTP
(setq wl-smtp-connection-type 'starttls)
(setq wl-smtp-posting-port 587)
(setq wl-smtp-authenticate-type "login")
(setq wl-smtp-posting-user "myusername")
(setq wl-smtp-posting-server "mail.mydomain.com")
(setq wl-local-domain "mydomain.com")

(setq wl-default-folder "%INBOX")
(setq wl-default-spec "%")
;; (setq wl-draft-folder "%Drafts")
(setq wl-trash-folder "%Trash")

(setq wl-folder-check-async t) 

(setq elmo-imap4-use-modified-utf7 t)

(autoload 'wl-user-agent-compose "wl-draft" nil t)
(if (boundp 'mail-user-agent)
    (setq mail-user-agent 'wl-user-agent))
(if (fboundp 'define-mail-user-agent)
    (define-mail-user-agent
      'wl-user-agent
      'wl-user-agent-compose
      'wl-draft-send
      'wl-draft-kill
      'mail-send-hook))

这是发送电子邮件时的错误消息:

代码语言:javascript
复制
*** Starting TLS handshake
- Certificate type: X.509
- Got a certificate list of 2 certificates.
- Certificate[0] info:
 - subject `OU=Domain Control Validated,CN=*.liquidweb.com', issuer `C=BE,O=GlobalSign nv-sa,CN=GlobalSign Domain Validation CA - G2', RSA key 2048 bits, signed using RSA-SHA1, activated `2013-02-22 16:03:14 UTC', expires `2018-02-22 16:03:14 UTC', SHA-1 fingerprint `f9926583e10585ca301bec7ec8d36d7e4573750d'
    Public Key Id:
        3ff7ead3d8a2be6cf1e48d072a5be80afe5183de
    Public key's random art:
        +--[ RSA 2048]----+
        |                 |
        |                 |
        |                 |
        |       .         |
        |      . S        |
        |     . o +. o    |
        |    . o E +*.B   |
        |   . . o.oooB.=  |
        |    ..o.o==+o=.  |
        +-----------------+

- Certificate[1] info:
 - subject `C=BE,O=GlobalSign nv-sa,CN=GlobalSign Domain Validation CA - G2', issuer `C=BE,O=GlobalSign nv-sa,OU=Root CA,CN=GlobalSign Root CA', RSA key 2048 bits, signed using RSA-SHA1, activated `2011-04-13 10:00:00 UTC', expires `2022-04-13 10:00:00 UTC', SHA-1 fingerprint `0481c8ca31be0fa940c7e0ccd572374eadf52b73'
- Status: The certificate is NOT trusted. The certificate issuer is unknown. The name in the certificate does not match the expected. 
*** Verifying server certificate failed...
*** Fatal error: Error in the certificate.
*** Handshake has failed

byte-code: Wrong type argument: arrayp, nil
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-07-02 20:44:17

代码语言:javascript
复制
;; IMAP
(setq elmo-imap4-default-server "mail.mydomain.com")
(setq elmo-imap4-default-user "my-user-name") 
(setq elmo-imap4-default-authenticate-type 'login) 
(setq elmo-imap4-default-port '993)
(setq elmo-imap4-default-stream-type 'ssl)
(setq elmo-imap4-use-modified-utf7 t) 
(setq elmo-network-session-idle-timeout 30)

;; SMTP
(setq ssl-program-name "openssl s_client -ssl2 -connect %s:%p")
(setq smtpmail-auth-credentials '(("mail.mydomain.com" 587 "my-user-name" "my-password")))
(setq smtp-server "mail.mydomain.com")
票数 2
EN

Stack Overflow用户

发布于 2013-12-12 22:15:50

嗯,我并没有真正解决这个问题,只是遵循了使用ssl的工作方式,最后通过google邮件提供了正确的端口支持。然而,在设置另一个电子邮件帐户时,这个问题又咬了我一口,它的SMTP服务器坚持使用STARTTLS或TLS。所以和你报告的一样,这个问题仍然没有解决。我花了半天时间寻找解决方案,但找不到解决办法。最重要的是关于使用gnutls-cli -豆腐选项而不是-不安全的小对话。

http://lists.gnu.org/archive/html/info-gnus-english/2012-04/msg00001.html

然而,这导致我深入到emacs中,我无法找到改变调用gnutls的选项的方法。

这个问题的最佳解决方案很可能是找出OSX上丢失的密钥和crts在哪里,或者如何创建它们,然后将它们放在正确的位置。有什么帮助,暗示,评论吗?

票数 1
EN

Stack Overflow用户

发布于 2013-12-31 18:50:40

你在正确的轨道上使用--豆腐选项。在遵循这里步骤之后,您所需要做的就是在.emacs中添加以下内容

代码语言:javascript
复制
(setq starttls-extra-arguments '("--tofu"))

(您也可以通过emacs的自定义界面来设置。)这将允许您将任何参数传递给您希望的gnutls。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16763033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档