从 PHP 中的 G-mail 中获取带有特定标签的电子邮件

Fetch emails with specific label from G-mail in PHP

我的邮箱中有很多带有特定标签的电子邮件,例如 "NR-Support",其中包含来自 www.naveedramzan.com 联系表的电子邮件。

我已经开发了票务系统,现在它直接从联系表保存票务系统。

但是,我想将所有标记为 NR-Support 的旧电子邮件转换为该票务系统。

我试过 imap_open 但没有得到任何线索来获取特定标签的电子邮件。

$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);

为了访问邮箱中的特定标签,我们需要在这里指定标签。

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

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