我试图通过IMAP与运行在Apache中的PHP连接到Gmail。这是在Ubuntu 9.04系统上。我有一些PHP配置问题,使这从工作。首先,这里就是我所做的设置IMAP的PHP:通过使用PHP通过IMAP连接到Gmail - SSL上下文失败
sudo apt-get install libc-client2007b libc-client2007b-dev
sudo apt-get install php5-imap
sudo /etc/init.d/apache2 start
当我运行phpinfo()函数,我得到以下的imap值:
IMAP c-Client Version: 2004
SSL Support: enabled
Kerberos Support: enabled
这里是我的示例代码:
<?php
$connect_to = '{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX';
$user = 'my gmail address';
$password = 'my gmail password';
$connection = imap_open($connect_to, $user, $password)
or die("Can't connect to '$connect_to': " . imap_last_error());
imap_close($connection);
?>
当我执行此代码时,我得到以下输出:
Warning: imap_open() [function.imap-open]: Couldn't open stream {imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX in /var/www/clint/gmail/gmail.php on line 10
Can't connect to '{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX': TLS/SSL failure for imap.gmail.com: SSL context failed
请注意,我可以从这台计算机telnet到imap.gmail.com:993。我还可以通过IMAP将Evolution(邮件阅读器)连接到Gmail,并在没有问题的情况下获取邮件。所以,我不认为这是一个防火墙问题。我很确定我有一些PHP没有正确设置。
任何想法?
注:作者解决了他的问题在约旦链接的讨论,请参阅http://groups.google.com/group/comp.lang.php/browse_thread/thread/241e619bc70a8bf4/bd3ae0c6a82409bc#e820c4fc3ee78ee3 – 2009-08-23 13:06:02
@Clint:请回答或根据您找到的解决方案编辑您自己的问题 – 2009-08-23 13:14:26