PHP マニュアル
前のページ |  | 次のページ

# imap_open

(PHP 3, PHP 4 , PHP 5)

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

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

前のページ | ホーム | 次のページ
imap_num_recent | 上に戻る | imap_ping