| 
<?php/*
 * parse_message.php
 *
 * @(#) $Header: /opt2/ena/metal/pop3/parse_message.php,v 1.5 2014/01/27 10:53:45 mlemos Exp $
 *
 */
 
 ?><html>
 <head>
 <title>Parsing a message with Manuel Lemos' PHP POP3 and MIME Parser classes</title>
 </head>
 <body>
 <center><h1>Parsing a message with Manuel Lemos' PHP POP3 and MIME Parser classes</h1></center>
 <hr />
 <?php
 
 require('mime_parser.php');
 require('rfc822_addresses.php');
 require('pop3.php');
 
 stream_wrapper_register('mlpop3', 'pop3_stream');  /* Register the pop3 stream handler class */
 
 $user=UrlEncode("");
 $password=UrlEncode("");
 $realm=UrlEncode("");                         /* Authentication realm or domain            */
 $workstation=UrlEncode("");                   /* Workstation for NTLM authentication       */
 $host = 'localhost';
 $apop=0;                                      /* Use APOP authentication                   */
 $authentication_mechanism=UrlEncode("USER");  /* SASL authentication mechanism             */
 $debug=1;                                     /* Output debug information                  */
 $html_debug=1;                                /* Debug information is in HTML              */
 $message=1;
 $message_file='mlpop3://'.$user.':'.$password.'@'.$host.'/'.$message.
 '?debug='.$debug.'&html_debug='.$html_debug.'&realm='.$realm.'&workstation='.$workstation.
 '&apop='.$apop.'&authentication_mechanism='.$authentication_mechanism;
 /*
 * Access Gmail POP account
 */
 /*
 $message_file='pop3://'.$user.':'.$password.'@pop.gmail.com:995/1?tls=1&debug=1&html_debug=1';
 */
 
 $mime=new mime_parser_class;
 
 /*
 * Set to 0 for not decoding the message bodies
 */
 $mime->decode_bodies = 1;
 
 $parameters=array(
 'File'=>$message_file,
 
 /* Read a message from a string instead of a file */
 /* 'Data'=>'My message data string',              */
 
 /* Save the message body parts to a directory     */
 /* 'SaveBody'=>'/tmp',                            */
 
 /* Do not retrieve or save message body parts     */
 'SkipBody'=>1,
 );
 $success=$mime->Decode($parameters, $decoded);
 
 
 if(!$success)
 echo '<h2>MIME message decoding error: '.HtmlSpecialChars($mime->error)."</h2>\n";
 else
 {
 echo '<h2>MIME message decoding successful</h2>'."\n";
 echo '<h2>Message structure</h2>'."\n";
 echo '<pre>';
 var_dump($decoded[0]);
 echo '</pre>';
 if($mime->Analyze($decoded[0], $results))
 {
 echo '<h2>Message analysis</h2>'."\n";
 echo '<pre>';
 var_dump($results);
 echo '</pre>';
 }
 else
 echo 'MIME message analyse error: '.$mime->error."\n";
 }
 ?>
 <hr />
 </body>
 </html>
 
 |