Gmail to PHP

Salutare, astazi m-am confruntat cu o problema, si-as vrea sa impart cu voi rezolvarea ei.
Trebuia sa scriu un parser pentru GMAIL, mai bine spus, o careva Banca X trimite la adresa x.upload.payments@gmail.com datele despre facturile platite de catre clienti pe care trebuia sa le citesc si sa le incarc in sistema.
Mai intii am gasit o rezolvare de la Zend, si anume oauth2-php-samples-20120905.zip
Pentru oauth trebuia sa generez un access-token, mai in scurt, probleme peste probleme si in surt timp am renuntat.
Mai jos am sa incerc sa redau abordarea directa, fara framework sau altceva, sper sa va fie de folos ­čÖé

1. Important ca in setarile gmail sa fie pornita setarea imap
2. In php.ini adaugam (in caz ca nu e) extensia php_imap.dll, eventual ne asiguaram ca acest fisier exista in mapa ext

scriptul

<?php
//adresa de email si parola
$username = 'x.upload.payments@gmail.com';
$password = 'parolaX';

//Mapa sau Label-ul unde trebuie sa cautam? - Exemple: INBOX, Trash, labelname
$imapmainbox = "INBOX";

//statusul mesajelor ALL sau UNSEEN
$messagestatus = "UNSEEN";

$imapaddress = "{imap.gmail.com:993/imap/ssl}";
$hostname = $imapaddress . $imapmainbox;

//ne conectam
$connection = imap_open($hostname,$username,$password) or die('Eroare de conexiune: ' . imap_last_error());

//cautam mesajele
$emails = imap_search($connection,$messagestatus);

//numarul total de mesaje
$totalemails = imap_num_msg($connection);

echo "Total mesaje: " . $totalemails . "<br>";


if($emails) {

	foreach($emails as $email_number) {

		$header = imap_fetch_overview($connection,$email_number,0);
		$header2 = imap_headerinfo($connection, $email_number);
		$fromaddr = $header2->from[0]->mailbox . "@" . $header2->from[0]->host;

		$message = imap_fetchbody($connection, $email_number, 1);

		$message = (base64_decode($message, true) ? base64_decode($message): $message ) ;
		
		$status = ($header[0]->seen ? 'read' : 'unread');
	    $subject = $header[0]->subject;
	    $from = $header[0]->from;
	    $date = $header[0]->date;

    	echo "status: " . $status . "<br>";
    	echo "subject: " . $subject . "<br>";
    	echo "from: " . $fromaddr ." " . $from . "<br>";
    	echo "date: " . $date . "<br>";
    	echo "message: " . $message. "<br><hr><br>";

  }
}

imap_close($connection);

?>