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: Sun, 02 May 2004

LI. mailparse Functions

Introduzione

Attenzione

Questo modulo è SPERIMENTALE. Ovvero, il comportamento di queste funzioni, i nomi di queste funzioni, in definitiva tutto ciò che è documentato qui può cambiare nei futuri rilasci del PHP senza preavviso. Siete avvisati, l'uso di questo modulo è a vostro rischio.

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

Installazione

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

Sommario
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
boris at gamate dot com
12-Sep-2003 12: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 04: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 06: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: Sun, 02 May 2004
show source | credits | sitemap | contact | advertising | mirror sites 
Copyright © 2001-2004 The PHP Group
All rights reserved.
This mirror generously provided by: Italia OnLine S.p.a.
Last updated: Fri May 21 04:11:23 2004 CEST