为什么这个PHP代码不能读取Inbox中的消息数量?

时间:2010-09-08 22:50:49

标签: php email

它适用于XAMPP,但不适用于为我的网站(Linux服务器)提供服务的主机。我没有看到任何错误消息,脚本只是超时。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
   <title>Email Parser</title>
</head>

<body>
<?php

echo "Hello World";

$hostname = '{imap.gmail.com:993/imap/ssl}Inbox';
$username = 'abc@gmail.com'; //Replaced with actual user name and 
$password = 'abc';           //password in the script

$mbox = imap_open($hostname, $username, $password) or die("can't connect: " . imap_last_error());
echo "+++++ <br>";
$MC = imap_check($mbox);

echo "***** <br>";
echo $MC->Nmsgs;

?>
</body>
</html>

2 个答案:

答案 0 :(得分:0)

可能你的主机没有启用php_imap扩展

通过执行以下操作来测试:

var_dump(function_exists('imap_open')) ;

要使你的脚本工作,上面应该显示'bool(true)'。如果布尔(假)你找到了罪魁祸首。

答案 1 :(得分:0)

您可以使用服务器中的其他方式到达该主机/端口吗?即使您无法手动执行SSL操作,也可以从命令行尝试telnet(telnet imap.gmail.com 993),看看是否有连接。可能是你的服务器以某种方式防火墙。