2012-10-17 33 views
2

我試圖打開(我使用PHP)的非安全(端口143)IMAP連接:IMAP打開流:自簽名證書問題

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. 郵件服務器配置有什麼問題?
+0

也許使用STARTTLS呢? – Max

+0

身份驗證錯誤會指向您的用戶名和密碼錯誤。 – Max

+0

@Max,是的,它使用STARTTLS,但它對證書有什麼影響? 登錄名和密碼是正確的我想,我已經從Mysql DB複製它們,這是一個存儲郵件和帳戶的 – sparkle

回答

0

STARTTLS當然使用證書來啓動TLS頻道,因此您看到自簽名證書錯誤的原因。但是,Can not authenticate意味着您的用戶名和密碼是錯誤的。在嘗試使用telnet來驗證您的用戶名和密碼登錄正確

0

使用此代碼

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

取而代之的是

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