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: Sun, 25 Nov 2007

view this page in

Mailparse Functions

Introductie

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.

Note: Mailparse requires the mbstring extension, and mbstring must be loaded before mailparse.

This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 4.2.0.

Installatie

This » PECL extension is not bundled with PHP. Information for installing this PECL extension may be found in the manual chapter titled Installation of PECL extensions. Additional information such as new releases, downloads, source files, maintainer information, and a CHANGELOG, can be located here: » 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. The DLL for this PECL extension may be downloaded from either the » PHP Downloads page or from » http://pecl4win.php.net/

Configuratie tijdens scriptuitvoer

Het gedrag van deze functies wordt beïnvloed vanuit php.ini.

Mailparse configuration options
Name Default Changeable Changelog
mailparse.def_charset "us-ascii" PHP_INI_ALL Available since PHP 4.1.0. Removed in PHP 4.2.0.
For further details and definitions of the PHP_INI_* constants, see the php.ini directives.

Voorgedefinieerde constanten

Deze constanten worden gedefinieerd door deze extensie, en zullen alleen beschikbaar zijn als de extensie met PHP is meegecompileerd, of als deze dynamisch is geladen vanuit een script.

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

Table of Contents



mailparse_determine_best_xfer_encoding> <mail
Last updated: Sun, 25 Nov 2007
 
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>";;
}
?>

mailparse_determine_best_xfer_encoding> <mail
Last updated: Sun, 25 Nov 2007
 
 
show source | credits | sitemap | contact | advertising | mirror sites