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: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 アドレスに代えてください。

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