require ('pop3.class.inc');

$pop3 = new POP3;
//CONFIGURATION
$mail_server="YOUR_POP3_EMAIL_SERVER";
$username="USERNAME";
$pwd="PASSWORD";


// Connect to mail server
$do = $pop3->connect ($mail_server);
if ($do == false) {
    die($pop3->error);
}

// Login to your inbox
$do = $pop3->login ($username, $pwd);

if ($do == false) {
    die($pop3->error);
}

// Get office status
$status = $pop3->get_office_status();

if ($status == false) {
    die($pop3->error);
}

$count = $status['count_mails'];

if ($count == '0') {
    echo 'There are no new e-mails';
}

for ($i = 1; $i <= $count; $i++) {
    $email = $pop3->get_mail($i);

    if ($email == false) {
        echo $pop3->error;
        continue;
    }

    $email = parse_email ($email);
/* HERE ARE THE GOODIES */     
   echo "MAIL#$i:<br>";
    echo $subject=$email['headers']['Subject']."<br>";
    echo $email["message"];
       
    //pop3->delete_mail($i) //delete this email, yes.. it will delete your emails
/* GOODIES END */
}

$pop3->close();

function parse_email ($email) {
    // Split header and message
    $header = array();
    $message = array();

    $is_header = true;
    foreach ($email as $line) {
        if ($line == '<HEADER> ' . "\r\n") continue;
        if ($line == '<MESSAGE> ' . "\r\n") continue;
        if ($line == '</MESSAGE> ' . "\r\n") continue;
        if ($line == '</HEADER> ' . "\r\n") { $is_header = false; continue; }

        if ($is_header == true) {
            $header[] = $line;
        } else {
            $message[] = $line;
        }
    }

    // Parse headers
    $headers = array();
    foreach ($header as $line) {
        $colon_pos = strpos($line, ':');
        $space_pos = strpos($line, ' ');

        if ($colon_pos === false OR $space_pos < $colon_pos) {
            // attach to previous
            $previous .= "\r\n" . $line;
            continue;
        }

        // Get key
        $key = substr($line, 0, $colon_pos);

        // Get value
        $value = substr($line, $colon_pos+2);
        $headers[$key] = $value;

        $previous =& $headers[$key];
    }

    // Parse message
    $message = implode('', $message);

    // Return array
    $email = array();
    $email['message'] = $message;
    $email['headers'] = $headers;

    return $email;
}