Google

NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.7">

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()でエンコードする必要がありま す。

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

  • OP_READONLY - メールボックスを読みこみのみ可でオープン

  • OP_ANONYMOUS - news に関して.newsrcの使用・更新をしない(NNTPのみ)

  • OP_HALFOPEN - IMAPおよびNNTP名について、接続をオープンするがメールボックスをオープンしない

  • CL_EXPUNGE - メールボックスを閉じた際に、自動的にメールボックスを削除する

ローカルマシンのポート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);