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

search for in the

mailparse_determine_best_xfer_encoding> <mail
Last updated: Sat, 24 Mar 2007

view this page in

LXXIX. Mailparse Functions

Úvod

Mailparse is an extension for parsing and working with email messages. It can deal with » RFC 822 and » RFC 2045 (MIME) compliant messages.

Mailparse is stream based, which means that it does not keep in-memory copies of the files it processes - so it is very resource efficient when dealing with large messages.

Poznámka: Mailparse requires the mbstring extension.

Toto rozšíření bylo přesunuto do repozitáře » PECL a již nebude součástí balíku PHP.4.2.0.

Instalace

Toto rozšíření » PECL není přibaleno k PHP. Informace o instalaci tohoto PECL rozšíření lze najít v kapitole manuálu nazvané Instalace rozšíření PECL. Další informace, jako nové verze, soubory ke stažení, zdrojové soubory, správcovské informace a CHANGELOG, lze najít zde: » 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. Tuto DLL knihovnu pro rozšíření PECL můžete stahovat ze stránky » PHP Downloads nebo z » http://snaps.php.net/.

Konfigurace běhu

Chování těchto funkcí je ovlivněno nastavením parametrů v php.ini.

Tabulka 132. Mailparse configuration options

NameDefaultChangeableChangelog
mailparse.def_charset"us-ascii"PHP_INI_ALL 

Pro další detaily a definice konstant PHP_INI_*, viz dokumentace k ini_set().

Předdefinované konstanty

Tyto konstanty jsou definovány tímto rozšířením a budou k dispozici pouze tehdy, bylo-li rozšíření zkompilováno společně s PHP nebo dynamicky zavedeno za běhu.

MAILPARSE_EXTRACT_OUTPUT (integer)
MAILPARSE_EXTRACT_STREAM (integer)
MAILPARSE_EXTRACT_RETURN (integer)

Obsah

mailparse_determine_best_xfer_encoding — Gets the best way of encoding
mailparse_msg_create — Create a mime mail resource
mailparse_msg_extract_part_file — Extracts/decodes a message section
mailparse_msg_extract_part — Extracts/decodes a message section
mailparse_msg_extract_whole_part_file — Extracts a message section including headers without decoding the transfer encoding
mailparse_msg_free — Frees a MIME resource
mailparse_msg_get_part_data — Returns an associative array of info about the message
mailparse_msg_get_part — Returns a handle on a given section in a mimemessage
mailparse_msg_get_structure — Returns an array of mime section names in the supplied message
mailparse_msg_parse_file — Parses a file
mailparse_msg_parse — Incrementally parse data into buffer
mailparse_rfc822_parse_addresses — Parse RFC 822 compliant addresses
mailparse_stream_encode — Streams data from source file pointer, apply encoding and write to destfp
mailparse_uudecode_all — Scans the data from fp and extract each embedded uuencoded file


mailparse_determine_best_xfer_encoding> <mail
Last updated: Sat, 24 Mar 2007
 
add a note add a note User Contributed Notes
Mailparse Functions
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>";;
}
?>

mailparse_determine_best_xfer_encoding> <mail
Last updated: Sat, 24 Mar 2007
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites