PHP imap_open失败,但OpenSSL连接

时间:2012-07-19 23:07:28

标签: php openssl imap ssl pop3

我尝试通过imap_open

连接到POP3服务器
imap_open('{mail.domain.com:995/pop3/tls}INBOX', 
    'user@domain.com', 
    'password');

但是我得到了这些错误:

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 user@domain.com
+OK
PASS password
+OK User successfully logged on.

我尝试了其他各种开关,例如/novalidate-cert/debugOP_DEBUG但得到的结果相同。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

即使服务器指定了TLS,在PHP中使用SSL连接仍然有效。

imap_open('{mail.domain.com:995/pop3/ssl}INBOX', 
    'user@domain.com', 
    'password');