从 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';
我的邮箱中有很多带有特定标签的电子邮件,例如 "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';