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: Tue, 22 Apr 2003

L. mailparse functions

Introductie

Waarschuwing

Deze module is EXPERIMENTEEL. Dat betekent, dat het gedrag van deze functies, deze functienamen, in concreto ALLES dat hier gedocumenteerd is in een toekomstige uitgave van PHP ZONDER WAARSCHUWING kan veranderen. Wees gewaarschuwd, en gebruik deze module op eigen risico.

Inhoudsopgave
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


User Contributed Notes
mailparse functions
add a note add a note
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>";;
}
?>

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

add a note add a note

<mailmailparse_determine_best_xfer_encoding>
 Last updated: Tue, 22 Apr 2003
show source | credits | mirror sites 
Copyright © 2001-2003 The PHP Group
All rights reserved.
This mirror generously provided by: /
Last updated: Sun May 25 21:10:51 2003 CEST