0

这是我的代码:

  $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

谷歌搜索表明问题是由于某些防火墙问题造成的。我的托管服务提供商问我我的 php 脚本使用哪个端口。

那么有人可以告诉我需要打开哪个端口才能使上述工作正常吗?是 993 吗?有什么办法可以确定吗?

谢谢

4

1 回答 1

1

正如 IBM 在其文档中所述:

选择 143(默认)以使用行业标准端口通过 TCP/IP 进行 IMAP 连接。您可以指定不同的端口,但 143 在大多数情况下都有效。指定非标准端口时,请确保该端口未为其他服务保留。端口号可以是 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");

如需进一步参考, 请参阅 php 手册的此链接

正如@max

143 是 IMAP 的默认 /insecure/ 端口。在野外,大多数服务器都需要 SSL,它位于端口 993 上。

于 2012-08-15T06:59:33.537 回答