downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

mailparse_determine_best_xfer_encoding> <mail
[edit] Last updated: Mon, 01 Nov 2010

view this page in

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 されたファイルを展開する


mailparse_determine_best_xfer_encoding> <mail
[edit] Last updated: Mon, 01 Nov 2010
 
add a note add a note User Contributed Notes mailparse 関数
iwarner at triangle-solutions dot com 21-May-2004 08:31
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
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>";;
}
?>

 
show source | credits | sitemap | contact | advertising | mirror sites