2012-08-15 30 views
0

这是我的代码:哪个端口确实imap_open使用

$server = '{imap.gmail.com:993/ssl/novalidate-cert}'; 
    $imap_connection = imap_open($server, $login, $password); 
    $mailboxinfo = imap_mailboxmsginfo($imap_connection); 
    $messageCount = $mailboxinfo->Nmsgs; 

它抛出一些错误。

Warning: imap_open() [function.imap-open]: Couldn't open stream {imap.gmail.com:993/ssl/novalidate-cert} in /home2/booksby/public_html/anonymousemail.php on line 13 

使用Google搜索表明该问题是由于一些防火墙问题。我的托管服务提供商询问我的php脚本使用了哪个端口。

那么有人可以告诉我哪个端口需要打开上述工作?它是993吗?任何方式,我可以肯定地找出?

感谢

+0

993.是的。数据包嗅探器。 – 2012-08-15 06:58:35

回答

1

AS IBM国their documentation

选择143(缺省)可以将行业标准端口用于IMAP通过TCP/IP连接 。您可以指定不同的端口,但在大多数情况下可以使用。指定非标准端口时,请确保该端口未保留用于其他服务。端口号可以是 任何数量从1到65535

// To connect to an IMAP server running on port 143 on the local machine, 
// do the following: 
$mbox = imap_open("{localhost:143}INBOX", "user_id", "password"); 

用于进一步参考see this link of php manual

通过@Max

143是用于IMAP的默认/不安全/端口。在野外,大多数服务器都需要使用端口993上的SSL。

+0

我在哪里选择这个?在这一行? '$ server ='{imap.gmail.com:993/ssl/novalidate-cert}';' – 2012-08-15 07:02:23

+0

143 * *绝对*不适用于GMail。 – 2012-08-15 07:07:43

+0

@ IgnacioVazquez-Abrams它只是一个例子如何在上面的链接中使用有完整的解释 – 2012-08-15 07:14:21