PHP无法通过IMAP连接到GMail

我有一些我试图用imap连接到gmail的php代码。 代码如下:

$hostname = '{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX'; $tmp_username = 'username'; $tmp_password = 'password'; $inbox = imap_open($hostname, $username, $password) or die(imap_last_error()); 

我每次尝试连接时都会得到这个错误输出:

警告:imap_open()[function.imap-open]:无法在第14行的/var/www/PHP/EmailScript.php中打开stream{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOXlogin中止

我不明白什么是错的! 我听说有人有SSL错误,但这似乎不是其中之一。 请请帮助我!!!!!

编辑:当试图通过telnet-ssl连接到imap.gmail.com我得到以下输出:

尝试74.125.155.109 …已连接到gmail-imap.l.google.com。 转义字符是'^]'。

另外还有其他的事情发生

如果您直接telnet到993,则它不能正常工作,因为telnet不在SSL上。 使用类似telnet-sslstunnel东西,以确保您通过SSL连接到993。 一旦完成,然后尝试查看是否收到欢迎消息,然后尝试几个IMAP命令以查看它们是否工作。

使用此命令启动会话….

openssl s_client -connect imap.gmail.com:993

如果我这样做,我得到这个…

* OK Gimap ready for requests from <ip_address> 16if41262875qci.66

首先确保您可以从机器连接到IMAP服务器:

 telnet imap.gmail.com 993 

如果连接工作,而不是检查是否使用php-imap安装SSL,使用phpinfo()你必须看到这样的东西

 imap IMAP c-Client Version 2004 SSL Support enabled Kerberos Support enabled 

在StackOverflow中的类似线程中的其他想法