Apacheで実行されているPHPを使用してIMAP経由でGmailに接続しようとしています。これはUbuntu9.04システム上にあります。これが機能しない原因となる、ある種のPHP構成の問題があります。まず、PHP用にIMAPをセットアップするために私が行ったことは次のとおりです。
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
このコンピューターからimap.gmail.com:993にtelnet接続できることに注意してください。また、Evolution(メールリーダー)をIMAP経由でGmailに接続し、問題なくメールを取得することもできます。したがって、これはファイアウォールの問題ではないと思います。PHPに正しくセットアップされていないものがあると確信しています。
何か案は?