2016-01-15 38 views
6

Ho molte e-mail nella mia casella di posta elettronica con qualche etichetta specifica come "NR-Support" che contiene e-mail dal modulo di contatto www.naveedramzan.com.Recupera e-mail con etichetta specifica da G-mail in PHP

Ho sviluppato un sistema di bigliettazione e ora il suo sistema di biglietteria risparmiando direttamente dal modulo Contatto.

Ma, voglio trasformare tutte le vecchie email contrassegnate come NR-Support in quel sistema di ticketing.

Ho provato con imap_open ma non ho avuto alcun indizio per ottenere e-mail di etichetta specifica.

$hostname = '{imap.gmail.com:993/imap/ssl}INBOX'; 
$username = '[email protected]'; 
$password = 'abc123'; 
$inbox = imap_open($hostname,$username,$password) or die('Cannot connect to Gmail: ' . imap_last_error()); 
$emails = imap_search($inbox,'ALL'); 
if($emails) { 
    $output = ''; 
    rsort($emails); 
    foreach($emails as $email_number) { 
     $overview = imap_fetch_overview($inbox,$email_number,0); 
     $message = imap_fetchbody($inbox,$email_number,2); 
     $output.= '<div class="toggler '.($overview[0]->seen ? 'read' : 'unread').'">'; 
     $output.= '<span class="subject">'.$overview[0]->subject.'</span> '; 
     $output.= '<span class="from">'.$overview[0]->from.'</span>'; 
     $output.= '<span class="date">on '.$overview[0]->date.'</span>'; 
     $output.= '</div>'; 
     $output.= '<div class="body">'.$message.'</div>'; 
    } 
    echo $output; 
} 
imap_close($inbox); 
+0

Non penso che dovrei doverlo dire a qualcuno con rappresentante ~ 500, ma per favore fornisci il tuo codice e quello che hai effettivamente provato. Inoltre, se è il tuo modulo di contatto, perché non puoi spingere il biglietto nello stesso posto in cui spedisci l'e-mail? –

+0

Jon, ho aggiornato il mio codice che invia il ticket sul modulo di contatto. Ma voglio spostare le mie vecchie e-mail che ho ricevuto (quando non ho il sistema di biglietteria) –

+0

Naveed, questo ha senso. Se riesci a mostrare il tuo lavoro, le persone avranno un'idea migliore di cosa suggerire. –

risposta

5

Per accedere a un'etichetta specifica nella casella di posta elettronica, è necessario specificare l'etichetta qui.

$hostname = '{imap.gmail.com:993/imap/ssl}INBOX'; 

$hostname = '{imap.gmail.com:993/imap/ssl}LABEL';