<?php 
/* 
 * browse_mailbox.php 
 * 
 * @(#) $Header: /opt2/ena/metal/pop3/browse_mailbox.php,v 1.2 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"); 
 
  /* Uncomment when using SASL authentication mechanisms */ 
    /* 
    require("sasl.php"); 
    */ 
 
    stream_wrapper_register('mlpop3', 'pop3_stream');  /* Register the pop3 stream handler class */ 
 
    $pop3=new pop3_class; 
    $pop3->hostname="localhost";             /* POP 3 server host name                      */ 
    $pop3->port=110;                         /* POP 3 server host port, 
                                                usually 110 but some servers use other ports 
                                                Gmail uses 995                              */ 
    $pop3->tls=0;                            /* Establish secure connections using TLS      */ 
    $user="username";                        /* Authentication user name                    */ 
    $password="password";                    /* Authentication password                     */ 
    $pop3->realm="";                         /* Authentication realm or domain              */ 
    $pop3->workstation="";                   /* Workstation for NTLM authentication         */ 
    $apop=0;                                 /* Use APOP authentication                     */ 
    $pop3->authentication_mechanism="USER";  /* SASL authentication mechanism               */ 
    $pop3->debug=1;                          /* Output debug information                    */ 
    $pop3->html_debug=1;                     /* Debug information is in HTML                */ 
    $pop3->join_continuation_header_lines=1; /* Concatenate headers split in multiple lines */ 
 
    if(($error=$pop3->Open())=="") 
    { 
        echo "<PRE>Connected to the POP3 server "".$pop3->hostname."".</PRE>\n"; 
        if(($error=$pop3->Login($user,$password,$apop))=="") 
        { 
            echo "<PRE>User "$user" logged in.</PRE>\n"; 
            if(($error=$pop3->Statistics($messages,$size))=="") 
            { 
                echo "<PRE>There are $messages messages in the mail box with a total of $size bytes.</PRE>\n"; 
                if($messages>0) 
                { 
                    $pop3->GetConnectionName($connection_name); 
                    $message=1; 
                    $message_file='mlpop3://'.$connection_name.'/'.$message; 
                    $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"; 
                    } 
                } 
                if($error=="" 
                && ($error=$pop3->Close())=="") 
                    echo "<PRE>Disconnected from the POP3 server "".$pop3->hostname."".</PRE>\n"; 
            } 
        } 
    } 
    if($error!="") 
        echo "<H2>Error: ",HtmlSpecialChars($error),"</H2>"; 
?> 
 
</body> 
</html> 
 
 |