我試圖通過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