使用imap_open()获取gmail帐户消息[获取错误]

时间:2013-08-15 12:14:19

标签: php codeigniter imap

我正在使用imap_open()函数来获取gmail收件箱消息....我无法登录到gmail帐户。我在XAMPP服务器上的mac os中运行。

代码 - >

  $hostname = '{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX';
$username = 'xyz@gmail.com';
$password = 'password';
$inbox = imap_open($hostname,$username,$password) or die('Cannot connect to Friggin Server: ' . imap_last_error());

收到错误

 Severity: Warning

Message: imap_open() [function.imap-open]: Couldn't open stream {imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX

Filename: controllers/mail.php

Line Number: 19

我搜索了很多,但没有找到任何有用的答案。我被困在这里。请帮忙 。提前谢谢。

1 个答案:

答案 0 :(得分:0)

这里可能存在许多错误导致失败的根本原因。在这种情况下,imap_last_error可能不会返回任何有用的信息。我在PHP手册的imap_open页面上看到的suggestion是跟踪imap_errors,因为这将为您提供自请求开始以来发生的所有错误。这似乎是一个常见的问题,特别是对于gmail,拒绝访问可能不是由于imap(例如未经验证的帐户)直接导致的。

请改为尝试:

$inbox = imap_open($hostname,$username,$password) or die('Cannot connect to Friggin Server: ' . print_r(imap_errors()));

可能会提供有关连接失败原因的更多信息。

请参阅:

http://php.net/manual/en/function.imap-open.php#103762

http://php.net/manual/en/function.imap-errors.php