imap_open

(PHP 3, PHP 4 )

imap_open --  メールボックスへのIMAPストリームをオープンする

説明

int imap_open (string mailbox, string username, string password [, int flags])

成功するとIMAPストリームを返し、失敗するとfalseを返します。この関 数は、POP3やNNTPサーバーへのストリームをオープンする際にも使用可 能です。しかし、いくつかの関数および機能はIMAPサーバーでは利用で きません。

メールボックス名(mailbox)は、サーバー名の部分と使用するサーバーに おけるメールボックスへのパスから構成されます。特別な名前INBOXは、 カレントのユーザの個人メールボックスを意味します。サーバー部は'{' および'}'で括られ、サーバー名またはIPアドレス、('/'で始まる)プロ トコル指定、そして':'から始まるオプションのポート指定子から構成さ れます。サーバー部は、全てのmailboxパラメータで必須です。 ASCII空間で出力可能な文字以外の外国文字を含むメールボックス名は imap_utf7_encode()でエンコードする必要がありま す。

オプションは、ビットマスクであり、以下の組み合わせとなります。

ローカルマシンのポート143で実行しているIMAPサーバーに接続 する際には、以下のようにします。


$mbox = imap_open ("{localhost:143}INBOX","user_id","password");
      

ローカルマシンのポート110で実行しているPOP3サーバーに接続する際には、 以下のようにします。


$mbox = imap_open ("{localhost/pop3:110}INBOX","user_id","password");
      

ローカルマシンのポート119で実行しているNNTPサーバーに接続する際には、 以下のようにします。


$nntp = imap_open ("{localhost/nntp:119}comp.test","","");
      

リモートサーバーに接続するには、"localhost" を接続したいサーバーの 名前または IP アドレスに代えてください。

例 1. imap_open()の例


$mbox = imap_open("{your.imap.host:143}","username","password");

echo "<p><h1>Mailboxes</h1>\n";
$folders = imap_listmailbox($mbox, "{your.imap.host:143}", "*");
if($folders == false)
  echo "Call failed<br>\n";
else
  while(list($key,$val) = each($folders))
    echo $val."<br>\n";

echo "<p><h1>Headers in INBOX</h1>\n";
$headers = imap_headers($mbox);
if($headers == false)
  echo "Call failed<br>\n";
else
  while(list($key,$val) = each($headers))
    echo $val."<br>\n";

imap_close($mbox);