2012-04-16 12 views
0

私は、Exchangeサーバーに接続し、メールボックスからメッセージを読むためのPHPスクリプトを作成しています。私はそれが私の受信トレイに接続するだけで大​​丈夫です。私が今しようとしているのは、PHPがアクセスできる別のメールボックスに接続することです(「Test Mailbox」と呼ぶ)。プログラムで接続するExchangeメールボックスの名前を取得する

私はこのコードを試してみました:

imap_open('{mail.domain.com:143}Test Mailbox', 'myusername', 'mypassword'); 

をしかし、それは、メールボックスが存在していないと述べました。メールボックスのリストを取得したり、メールボックスへのパスを取得するにはどうすればよいですか?

答えて

1

あなたは本当にExchange Webサービス(EWS)でこれをやって考える必要があります。これにより、SOAPとIMAPの2種類のデータを得ることができます。

0

imap_getmailboxes()でメールボックスの一覧を取得できます。メールボックスを選択するには、先頭に/を入れないでください。

php.netから:

$mbox = imap_open("{mail.domain.com:143}", "username", "password", OP_HALFOPEN) 
    or die("can't connect: " . imap_last_error()); 

$list = imap_getmailboxes($mbox, "{mail.domain.com:143}", "*"); 
if (is_array($list)) { 
    foreach ($list as $key => $val) { 
     echo "($key) "; 
     echo imap_utf7_decode($val->name) . ","; 
     echo "'" . $val->delimiter . "',"; 
     echo $val->attributes . "<br />\n"; 
    } 
} else { 
    echo "imap_getmailboxes failed: " . imap_last_error() . "\n"; 
} 

imap_close($mbox); 
関連する問題