Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中从G-mail获取带有特定标签的电子邮件_Php_Gmail_Imap Open - Fatal编程技术网

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

在PHP中从G-mail获取带有特定标签的电子邮件,php,gmail,imap-open,Php,Gmail,Imap Open,我的邮箱里有很多电子邮件,上面有一些特定的标签,比如“NR支持”,其中包含来自联系人表单的电子邮件 我已经开发了票务系统,现在它可以直接从联系人表单保存票务系统 但是,我想将所有标记为NR支持的旧电子邮件转换为该票务系统 我试过使用imap\u open,但没有得到任何线索来获取特定标签的电子邮件 $hostname = '{imap.gmail.com:993/imap/ssl}INBOX'; $username = 'naveed.ramzan@gmail.com'; $password =

我的邮箱里有很多电子邮件,上面有一些特定的标签,比如“NR支持”,其中包含来自联系人表单的电子邮件

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

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

我试过使用
imap\u 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}收件箱';
$username='naveed。ramzan@gmail.com';
$password='abc123';
$inbox=imap_open($hostname,$username,$password)或die('cannotconnecttogmail:'。imap_last_error());
$emails=imap_搜索($inbox,'ALL');
如果($电子邮件){
$output='';
rsort(电子邮件);
foreach($email作为$email\u编号){
$overview=imap\U fetch\U overview($inbox,$email\u number,0);
$message=imap\u fetchbody($inbox,$email\u number,2);
$output.='';
$output.=''.$overview[0]->subject';
$output.=''.$overview[0]->from';
$output.='on'.$overview[0]->date'.';
$output.='';
$output.=''.$message';
}
echo$输出;
}
imap_关闭($收件箱);

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

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

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

我不认为我应该对rep~500的人说这些,但请提供您的代码和您实际尝试的内容。还有,如果是你的联系方式,为什么你不能把票推到你发送电子邮件的地方呢?乔恩,我已经更新了我在联系方式上提交票的代码。但我想把我收到的旧电子邮件(当我没有票务系统时)改成Naveed,这是有道理的。如果你能展示你的作品,那么人们会更好地了解你的建议。在快速检查之后,可能值得尝试将
$hostname
收件箱部分更改为指向相关imap“文件夹”(gmail标签)。不幸的是,我不确定您需要将其更改为:S.OK,我将尝试一下,然后在此处更新。如果是嵌套标签,请使用此
$hostname='{imap.gmail.com:993/imap/ssl}主标签/子标签'