我无法使用imap函数检索我的邮件,但遇到错误“无法打开流” .
信息是
Warning: imap_open() [function.imap-open]: Couldn't open stream on line 3
我在我的代码中打印了最后一个错误,
Cannot connect to Mail: Connection failed to myserver.net,110: Connection timed out
我不明白'连接超时',因为POP3服务器可以正常使用我的邮件客户端,如Outlook .
我按照指示检索我的POP3邮件,并通过网络搜索确认我可以使用imap功能在POP3服务器中检索邮件 .
我还尝试了'/ novalidate-cert'选项并检查了用户名和密码 . 但没有区别 .
我在下面附上了我的代码 . 这对我来说非常神秘,我可以连接到POP3服务器吗?
<?php
$mbox = imap_open("{mail.myserver.net:110/pop3}", "tester@myserver.net", "passme") or die('LAST ERROR: Cannot connect to Mail: ' . imap_last_error());;
echo "<h1>Mailboxes</h1>\n";
$folders = imap_listmailbox($mbox, "{mail.myserver.net:110/pop3}", "*");
if ($folders == false) {
echo "Call failed
\n";
} else {
foreach ($folders as $val) {
echo $val . "
\n";
}
}
echo "<h1>Headers in INBOX</h1>\n";
$headers = imap_headers($mbox);
if ($headers == false) {
echo "Call failed
\n";
} else {
foreach ($headers as $val) {
echo $val . "
\n";
}
}
imap_close($mbox);
?>
1 回答
我想你的服务器是防火墙的,不允许传出连接,或者特别是不允许端口110上的传出连接 .
凭据在Outlook中可用,因为您可能是从Web主机/服务器以外的其他位置尝试该凭据 .
您可以在服务器上检查是否可以 Build 传出连接: