PHP Classes
elePHPant
Icontem

File: parse_message.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Manuel Lemos  >  POP3 e-mail client  >  parse_message.php  >  Download  
File: parse_message.php
Role: Example script
Content type: text/plain
Description: Example script to demonstrate how to open messages in a POP3 mailbox like files, and parse them with the MIME parser class
Class: POP3 e-mail client
Access to e-mail mailboxes using the POP3 protocol
Author: By
Last change: Used mlpop3 for the stream handler URL instead of pop3 to avoid collisions.
Date: 1 year ago
Size: 2,610 bytes
 

Contents

Class file image Download
<?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>