imap_open

(PHP 3, PHP 4 >= 4.0.0)

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:110/pop3}INBOX","user_id","password");
      

SSL IMAPまたはPOP3サーバに接続するには、/sslをプロトコル指定子の 後に追加します。


$mbox = imap_open ("{localhost:993/imap/ssl}INBOX", "user_id", "password");
      

自分でサインした証明書でSSL IMAPまたはPOP3サーバに接続するには、 プロトコル指定の後に /ssl/novalidate-cert を追加します。


$mbox = imap_open ("{localhost:995/pop3/ssl/novalidate-cert}", "user_id", "password");
      

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


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

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

例 1imap_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);