PHP  
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | my php.net 
search for in the  
<mailmailparse_determine_best_xfer_encoding>
view the version of this page
Last updated: Thu, 21 Aug 2003

XLIX. mailparse functions

Introduction

Warning

This extension is EXPERIMENTAL. The behaviour of this extension -- including the names of its functions and anything else documented about this extension -- may change without notice in a future release of PHP. Use this extension at your own risk.

This extension has been moved from PHP as of PHP 4.2.0 and now mailparse lives in PECL.

Installation

These functions are only available if PHP was configured with --enable-mailparse.

Table of Contents
mailparse_determine_best_xfer_encoding --  Figures out the best way of encoding the content read from the file pointer fp, which must be seek-able
mailparse_msg_create -- Returns a handle that can be used to parse a message
mailparse_msg_extract_part_file -- Extracts/decodes a message section, decoding the transfer encoding
mailparse_msg_extract_part --  Extracts/decodes a message section. If callbackfunc is not specified, the contents will be sent to "stdout"
mailparse_msg_free -- Frees a handle allocated by mailparse_msg_crea
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 -- Parse file and return a resource representing the structure
mailparse_msg_parse -- Incrementally parse data into buffer
mailparse_rfc822_parse_addresses --  Parse addresses and returns a hash containing that data
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. Returns an array listing filename information


add a note add a note User Contributed Notes
mailparse functions
boris at gamate dot com
12-Sep-2003 08: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
11-May-2003 12: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 02: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>";;
}
?>

<mailmailparse_determine_best_xfer_encoding>
 Last updated: Thu, 21 Aug 2003
show source | credits | sitemap | mirror sites 
Copyright © 2001-2003 The PHP Group
All rights reserved.
This mirror generously provided by: http://php.mirrors.ilisys.com.au/
Last updated: Sat 01 Nov 2003 04:13:36 EST EST