5

我正在尝试打开非安全(端口 143)IMAP 连接(我使用的是 PHP):

imap_open('{localhost:143/imap}INBOX', USERNAME, PASS);

我得到下一个错误:Certificate failure for localhost: self signed certificate ...

行。我试过使用/novalidate-cert邮箱参数。然后我得到另一个错误:Can not authenticate to IMAP server

我还尝试结合所有可能的非安全连接参数,例如/notls,/norsh/secure. 但我总是出错。

这是我正在使用的 Dovecot 配置:

* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS AUTH=LOGIN] Dovecot ready.

该证书实际上是自签名并使用 openssl 生成的。

问题是:

  1. 为什么我使用非安全连接时会出现证书错误?
  2. 邮件服务器配置有什么问题?
4

2 回答 2

4

使用此代码

   imap_open('{localhost:143/imap/novalidate-cert/debug}INBOX', USERNAME, PASS);

而不是这个

    imap_open('{localhost:143/imap}INBOX', USERNAME, PASS); 
于 2017-03-16T06:26:32.847 回答
2

STARTTLS 当然使用证书来启动 TLS 通道,因此您会看到自签名证书错误。Can not authenticate,但是,意味着您的用户名和密码错误。尝试使用 telnet 登录以验证您的用户名和密码是否正确

于 2012-10-18T13:58:48.410 回答