Login   Register  
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: 6 months 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>