そのまんま!

LXXX. Mailparse 関数

導入

Mailparse は、電子メールのメッセージをパースして処理するための拡張モジュールです。 RFC 822 および RFC 2045 (MIME) に準拠したメッセージを扱うことができます。

Mailparse はストリームベースで動作します。つまり、 処理する際にファイルの内容をメモリにコピーする必要がないということです。 これにより、大きなメッセージを扱う際にリソースを効率的に使用することができます。

注意: Mailparse は、mbstring 拡張モジュールを必要とします。

この拡張モジュールは PECL レポジトリに移動 されており、以下のバージョン以降 PHP にバンドルされなくなっています。 PHP 4.2.0.

インストール手順

この PECL 拡張 モジュールは PHP にバンドルされていません。 この PECL 拡張モジュールをインストールする方法は、 マニュアルの PECL 拡張モジュールのインストール という章にあります。 新規リリース・ダウンロード・ソースファイル・管理者情報・CHANGELOG といった関連する情報については、次の場所にあります。 http://pecl.php.net/package/mailparse.

これらの関数を使用するためには、configure 時に --enable-mailparse オプションを指定し、 mailparse のサポートつきで PHP をコンパイルする必要があります。

Windows ユーザがこれらの関数を利用するには、php.ini の中で php_mailparse.dll を有効にします。 この PECL 拡張モジュール用の DLL は、PHP のダウンロード ページあるいは http://pecl4win.php.net/ からダウンロードできます。

実行時設定

php.ini の設定により動作が変化します。

表 1. Mailparse の設定オプション

名前デフォルト変更の可否変更履歴
mailparse.def_charset"us-ascii"PHP_INI_ALL 
PHP_INI_* 定数の詳細および定義については 付録H を参照してください。

定義済み定数

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

MAILPARSE_EXTRACT_OUTPUT (integer)

MAILPARSE_EXTRACT_STREAM (integer)

MAILPARSE_EXTRACT_RETURN (integer)

目次
mailparse_determine_best_xfer_encoding -- 最も適したエンコーディングを取得する
mailparse_msg_create -- mime メールリソースを作成する
mailparse_msg_extract_part_file -- メッセージセクションを展開/デコードする
mailparse_msg_extract_part --  メッセージセクションを展開/デコードする
mailparse_msg_extract_whole_part_file -- ヘッダを含むメッセージセクションを、transfer encoding をデコードせずに展開する
mailparse_msg_free -- MIME リソースを解放する
mailparse_msg_get_part_data -- メッセージに関する情報の連想配列を返す
mailparse_msg_get_part -- MIME メッセージの指定したセクションに関するハンドルを返す
mailparse_msg_get_structure -- 指定したメッセージ内の MIME セクション名の配列を返す
mailparse_msg_parse_file -- ファイルをパースする
mailparse_msg_parse -- データをパースし、バッファに追加する
mailparse_rfc822_parse_addresses -- RFC 822 準拠のアドレスをパースする
mailparse_stream_encode --  ソースファイルポインタからストリームデータを取得し、 エンコーディングを適用し、出力ファイルポインタに書き込む
mailparse_uudecode_all --  ファイルポインタからデータをスキャンし、uuencode されたファイルを展開する