PHP: mailparse Functions - 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: Thu, 15 Jul 2004

LIII. mailparse Functions

�vod

Varov�n�

Toto roz���en� je EXPERIMENT�LN�. Chov�n� tohoto roz���en�, n�zvy funkc� a v�echno ostatn�, co je zde zdokumentov�no, se v budouc�ch verz�ch PHP m��e bez ohl�en� zm�nit. Berte to v �vahu a pou��vejte tento modul na vlastn� nebezpe��.

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

Instalace

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

Obsah
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_create()
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
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: Thu, 15 Jul 2004
show source | credits | sitemap | contact | advertising | mirror sites 
Copyright © 2001-2004 The PHP Group
All rights reserved.
This unofficial mirror is operated at: /
Last updated: Sun Nov 14 23:09:54 2004 Local time zone must be set--see zic manual page