简体   繁体   中英

Fetch emails with specific label from G-mail in PHP

I have a lot emails in my mail box with some specific label like "NR-Support" which contains emails from www.naveedramzan.com contact form.

I have developed ticketing system and now its directly saving ticketing system from Contact form.

But, I want to transform all old emails marked as NR-Support to that ticketing system.

I have tried with imap_open but didn't get any clue to get emails of specific label.

$hostname = '{imap.gmail.com:993/imap/ssl}INBOX';
$username = 'naveed.ramzan@gmail.com';
$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);

For accessing specific label in mail box, we need to specific the label here.

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

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM