Also dont forget to LOAD mbstring before you load mailparse
example in the php.ini place in this order:
extension=php_mbstring.dll
extension=php_mailparse.dll
Or you will get an error.
Ian
LXXVI. mailparse 関数
導入
| 警告 |
この拡張モジュールは、 実験的 なものです。この拡張モジュールの動作・ 関数名・その他ドキュメントに書かれている事項は、予告なく、将来的な PHP のリリースにおいて変更される可能性があります。 このモジュールは自己責任で使用してください。 |
この拡張モジュールは 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://snaps.php.net/ からダウンロードできます。
- 目次
- mailparse_determine_best_xfer_encoding -- ファイルポインタから内容を読み込む際に最も適したエンコーディングを 定義する
- mailparse_msg_create -- メッセージをパースするために使用可能なハンドルを返す
- mailparse_msg_extract_part_file -- メッセージセクションを展開/デコードし、transfer encoding を デコードする
- mailparse_msg_extract_part -- メッセージセクションを展開/デコードする
- mailparse_msg_free -- mailparse_msg_create() により確保されたハンドルを解放する
- 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 -- アドレスをパースし、そのデータを含むハッシュを返す
- mailparse_stream_encode -- ソースファイルポインタのストリームからデータを取得し、エンコーディ ングを適用し、出力ファイルポインタに書き込む
- mailparse_uudecode_all -- ファイルポインタからデータをスキャンし、uuencode されたファイルを展開する
iwarner at triangle-solutions dot com
21-May-2004 08:31
boris at gamate dot com
12-Sep-2003 06:11
Example how to handle mail content from a variable:
<?php
$buffer = [...] // Mail Content from pipe or whatever
$mail = mailparse_msg_create();
mailparse_msg_parse($mail,$buffer);
$struct = mailparse_msg_get_structure($mail);
foreach($struct as $st) {
$section = mailparse_msg_get_part($mail, $st);
$info = mailparse_msg_get_part_data($section);
print_r($info);
}
?>
wberrier at yahoo dot com
09-Jul-2002 12:45
[Authors note:
The tarball for 4.2.x can be found here:
http://thebrainroom.com/opensource/php/mailparse.php
and contains a script called try.php that demonstrates the usage of these functions.
]
I've pasted the contents of the file below:
<?php
/*
* This is a simple email viewer.
* make sure that $filename points to a file containing an email message and
* load this page in your browser.
* You will be able to choose a part to view.
* */
$filename = "uumsg";
/* parse the message and return a mime message resource */
$mime = mailparse_msg_parse_file($filename);
/* return an array of message parts - this contsists of the names of the parts
* only */
$struct = mailparse_msg_get_structure($mime);
echo "<table>\n";
/* print a choice of sections */
foreach($struct as $st) {
echo "<tr>\n";
echo "<td><a href=\"$PHP_SELF?showpart=$st\">$st</a></td>\n";
/* get a handle on the message resource for a subsection */
$section = mailparse_msg_get_part($mime, $st);
/* get content-type, encoding and header information for that section */
$info = mailparse_msg_get_part_data($section);
echo "\n";
echo "<td>" . $info["content-type"] . "</td>\n";
echo "<td>" . $info["content-disposition"] . "</td>\n";
echo "<td>" . $info["disposition-filename"] . "</td>\n";
echo "<td>" . $info["charset"] . "</td>\n";
echo "</tr>";
}
echo "</table>";
/* if we were called to display a part, do so now */
if ($showpart) {
/* get a handle on the message resource for the desired part */
$sec = mailparse_msg_get_part($mime, $showpart);
echo "<table border=1><tr><th>Section $showpart</th></tr><tr><td>";
ob_start();
/* extract the part from the message file and dump it to the output buff
er
* */
mailparse_msg_extract_part_file($sec, $filename);
$contents = ob_get_contents();
ob_end_clean();
/* quote the message for safe display in a browser */
echo nl2br(htmlentities($contents)) . "</td></tr></table>";;
}
?>
