関数リファレンス
PHP Manual

IMAP、POP3 および NNTP 関数

導入

これらの関数は、IMAP プロトコルのほかに NNTPPOP3、 そしてローカルのメールボックスへのアクセスもサポートします。

しかし、IMAP 関数の中には POP プロトコルでは正常に動作しないものがあることに注意しましょう。

要件

この拡張モジュールは、c クライアントライブラリがインストールされている ことを要します。» ftp://ftp.cac.washington.edu/imap/ から 最新版を入手し、コンパイルしてください。

IMAP のソースファイルをシステムの include ディレクトリに直接コピー しないことが大切です。そのようなことをすると既存のファイルと衝突を 引き起こす可能性があります。そのかわりにシステムの include ディレクトリの 下に新しいディレクトリ(例: /usr/local/imap-2000b/ 場所や名前は、あなたのシステムの設定や IMAP のバージョンに依存します)を作成し、 この新規ディレクトリの下に lib/include/ という新しいディレクトリを作成します。IMAP ソースツリーの c-client ディレクトリからすべての *.h ファイルを include/ に、そしてすべての *.c ファイルを lib/ にコピーします。 IMAP をコンパイルすると、c-client.a というファイルが つくられます。これも lib/ ディレクトリにコピーし、 名前を libc-client.a に変更してください。

注意: C クライアントライブラリを SSL や Kerberos のサポートつきでビルド するには、パッケージとともに提供されるドキュメントを参照ください。

注意: Mandrake Linux では、IMAP ライブラリ(libc-client.a) が Kerberos のサポートなしでコンパイルされています。また、SSL 対応バージョン(client-PHP4.a)が別に インストールされます。Kerberos サポートを使用するには、これらの ライブラリを再コンパイルする必要があります。

インストール手順

これらの関数を動作させるには、--with-imap[=DIR] を指定して PHP をコンパイルする必要があります。DIR は c-client インストール時のプレフィックスです。上の例のような場合には --with-imap=/usr/local/imap-2000b を指定します。この場所は、上の指示にしたがってあなたが作成したディレクトリの 場所に依存します。Windows ユーザは、php.iniphp_imap.dll DLL を有効にします。 IMAP は Windows 2000 より前のバージョンではサポートされていません。 なぜなら、メールサーバとの SSL 接続を有効にするために暗号化関数を 使用しているからです。

注意: c-client の設定によっては、これ以外に --with-imap-ssl=/path/to/openssl/--with-kerberos=/path/to/kerberos といったオプションを PHP の configure で指定する必要があります。

警告

IMAPrecodeYAZ および Cyrus 拡張モジュールは、組み合わせて使用することはできません。 これは、これらすべてが同一の内部シンボルを使用しているためです。

実行時設定

設定ディレクティブは定義されていません。

リソース型

定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。

NIL (integer)
OP_DEBUG (integer)
OP_READONLY (integer)
メールボックスを読み込み専用で開きます。
OP_ANONYMOUS (integer)
ニュースで .newsrc を使用せず、更新も行いません (NNTP のみ)。
OP_SHORTCACHE (integer)
OP_SILENT (integer)
OP_PROTOTYPE (integer)
OP_HALFOPEN (integer)
IMAP や NNTP において、接続はオープンするがメールボックスを開きません。
OP_EXPUNGE (integer)
OP_SECURE (integer)
CL_EXPUNGE (integer)
imap_close() のコール時に、メールボックスを 閉じる前に中身を削除します。
FT_UID (integer)
パラメータは UID です。
FT_PEEK (integer)
まだ設定されていない場合に \Seen フラグを設定しません。
FT_NOT (integer)
FT_INTERNAL (integer)
返される文字列は内部フォーマットであり、CRLF を正規化しません。
FT_PREFETCHTEXT (integer)
ST_UID (integer)
シーケンスの引数に、番号ではなく UID を含んでいます。
ST_SILENT (integer)
ST_SET (integer)
CP_UID (integer)
シーケンス番号が UID を含んでいます。
CP_MOVE (integer)
imap_mail_copy() でコピーを行った後に 現在のメールボックスからメッセージを削除します。
SE_UID (integer)
シーケンス番号のかわりに UID を返します。
SE_FREE (integer)
SE_NOPREFETCH (integer)
検索されたメッセージを事前にフェッチすることはありません。
SO_FREE (integer)
SO_NOSERVER (integer)
SA_MESSAGES (integer)
SA_RECENT (integer)
SA_UNSEEN (integer)
SA_UIDNEXT (integer)
SA_UIDVALIDITY (integer)
SA_ALL (integer)
LATT_NOINFERIORS (integer)
このメールボックスには「子供」はいません(このメールボックスの配下には メールボックスはありません)。
LATT_NOSELECT (integer)
これは単なるコンテナであり、メールボックスではありません。 オープンすることはできません。
LATT_MARKED (integer)
このメールボックスはマークされています。UW-IMAPD でのみ使用されます。
LATT_UNMARKED (integer)
このメールボックスはマークされていません。UW-IMAPD でのみ使用されます。
SORTDATE (integer)
imap_sort() のソート条件。 メッセージの日付でソートします。
SORTARRIVAL (integer)
imap_sort() のソート条件。 到着日でソートします。
SORTFROM (integer)
imap_sort() のソート条件。 メールボックスの最初の From アドレスでソートします。
SORTSUBJECT (integer)
imap_sort() のソート条件。 メッセージの表題でソートします。
SORTTO (integer)
imap_sort() のソート条件。 メールボックスの最初の To アドレスでソートします。
SORTCC (integer)
imap_sort() のソート条件。 メールボックスの最初の Co アドレスでソートします。
SORTSIZE (integer)
imap_sort() のソート条件。 メッセージのサイズ(バイト単位)でソートします。
TYPETEXT (integer)
TYPEMULTIPART (integer)
TYPEMESSAGE (integer)
TYPEAPPLICATION (integer)
TYPEAUDIO (integer)
TYPEIMAGE (integer)
TYPEVIDEO (integer)
TYPEOTHER (integer)
ENC7BIT (integer)
ENC8BIT (integer)
ENCBINARY (integer)
ENCBASE64 (integer)
ENCQUOTEDPRINTABLE (integer)
ENCOTHER (integer)
IMAP_OPENTIMEOUT (integer)
IMAP_READTIMEOUT (integer)
IMAP_WRITETIMEOUT (integer)
IMAP_CLOSETIMEOUT (integer)
LATT_REFERRAL (integer)
LATT_HASCHILDREN (integer)
LATT_HASNOCHILDREN (integer)
TYPEMODEL (integer)

参考

この文書では、提供される関数に関する全ての話題の詳細について立ち入ることは できません。より詳細な情報については、C クライアントライブラリのソースに 付属するドキュメント (docs/internal.txt) および以下の RFC ドキュメントで提供されています。

詳しい概観については、David Wood による書籍 » Programming Internet Email や Dianna Mullet と Kevin Mullet による » Managing IMAP でも得ることができます。

目次


関数リファレンス
PHP Manual