代码之家  ›  专栏  ›  技术社区  ›  Naveed Ramzan

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

  •  6
  • Naveed Ramzan  · 技术社区  · 10 年前

    我的邮箱里有很多电子邮件,上面有一些特定的标签,比如“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);
    
    1 回复  |  直到 10 年前
        1
  •  7
  •   Naveed Ramzan    10 年前

    要访问邮箱中的特定标签,我们需要在此处指定标签。

    $hostname = '{imap.gmail.com:993/imap/ssl}INBOX';
    
    $hostname = '{imap.gmail.com:993/imap/ssl}LABEL';
    
    推荐文章