PHP: mailparse関数 - Manual
PHP  
downloads | documentation | faq | getting help | mailing lists | | php.net sites | links | my php.net 
search for in the  
<mailmailparse_determine_best_xfer_encoding>
view the version of this page
Last updated: Tue, 21 Dec 2004

LVI. mailparse関数

導入

警告

このモジュールは、 実験的なものです。これは、これらの関数の動作、関 数名は、このドキュメントに書かれて事項と同様に告知なく将来的なPHPのリ リースで変更される可能性があります。注意を喚起するとともに、このモジュー ルは使用者のリスクで使用して下さい。

目次
mailparse_determine_best_xfer_encoding --  ファイルポインタから内容を読み込む際に最も適したエンコーディング を定義する
mailparse_msg_create --  メッセージをパースするために使用可能なハンドルを返す
mailparse_msg_extract_part_file --  メッセージセクションを展開/デコードし、transfer encodingをデコー ドする
mailparse_msg_extract_part --  メッセージセクションを展開/デコードする。callbackfuncが指定されな い場合、コンテンツは"stdout"に送られる
mailparse_msg_free --  mailparse_msg_creaにより確保されたハンドルを解放する
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されたファイルを展 開、ファイル名のリストを含む配列を返す


add a note add a note User Contributed Notes
mailparse関数
iwarner at triangle-solutions dot com
21-May-2004 03: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 01: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);
}

?>
toffe at dev dot null dot se
10-May-2003 05:50
To install mailparse on later versions of php, 4.3.1 in my case, you have to compile it with --enable-mbstring then do:

# pear install mailparse

This should download/compile/install the mailparse module...
To use it, either put extension=mailparse.so in your php.ini or use dl("mailparse.so"); in each script you need the mailparse capabilities in.

/C A
wberrier at yahoo dot com
09-Jul-2002 07:45
[Authors note:
The tarball for 4.2.x can be found here:

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>";;
}
?>

<mailmailparse_determine_best_xfer_encoding>
 Last updated: Tue, 21 Dec 2004
show source | credits | sitemap | contact | advertising | mirror sites 
Copyright © 2001-2005 The PHP Group
All rights reserved.
This unofficial mirror is operated at: /
Last updated: Mon Mar 14 08:13:06 2005 Local time zone must be set--see zic manual page