Это расширение является
ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения,
включая имена его функций и относящуюся к нему документацию, может
измениться в последующих версиях PHP без уведомления. Используйте
это расширение на свой страх и риск.
This extension has been moved to the PECL repository and is no longer bundled with
PHP as of PHP 4.2.0.
Это расширение PECL
не поставляется вместе с PHP.
Дополнительная информация, такая как новый версии,
скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут
быть найдены здесь:
http://pecl.php.net/package/mailparse.
In order to use these functions you must compile PHP with mailparse support
by using the --enable-mailparse configure
option.
Windows users will enable php_mailparse.dll inside
of php.ini in order to use these functions.
Вы можете скачать DLL этого
расширения PECL со страницы
PHP Downloads или
http://snaps.php.net/.
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.
<?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>";;
}
?>