2012-07-19 142 views
2

我試着通過imap_openPHP imap_open失敗,但OpenSSL的連接

imap_open('{mail.domain.com:995/pop3/tls}INBOX', 
    '[email protected]', 
    'password'); 

連接到POP3服務器,但我得到這些錯誤:

Warning: imap_open(): Couldn't open stream {mail.domain.com:995/pop3/tls}INBOX 
Fatal error: Maximum execution time of 30 seconds exceeded 
Notice: Unknown: POP3 connection broken in response (errflg=2) 

(按順序,這是奇怪的注意是致命錯誤後)

在終端中運行此命令工作正常:

> openssl s_client -crlf -connect mail.domain.com:995 

+OK The Microsoft Exchange POP3 service is ready. 
USER [email protected] 
+OK 
PASS password 
+OK User successfully logged on. 

我已經嘗試了各種其他開關,如/novalidate-cert,/debug,OP_DEBUG但獲得相同的結果。

任何想法?

回答

1

即使服務器指定TLS,在PHP中使用SSL連接。

imap_open('{mail.domain.com:995/pop3/ssl}INBOX', 
    '[email protected]om', 
    'password'); 
+0

謝謝!朋友 – 2014-12-24 02:45:12

+0

如果我使用imtp而不是pop3如何使用imap_open? – tyan 2015-12-10 10:06:45