如何设置;“看不见的”;关于电子邮件-PHP

如何设置;“看不见的”;关于电子邮件-PHP,php,email,status,flags,Php,Email,Status,Flags,我正试着制作一个程序,接收来自邮报的电子邮件。 一切都很好,很美。几乎。。 不幸的是,问题在于邮件何时“看不见”。脚本将其状态更改为“已看到” 我不想要这个 我试着这么做:一开始我检查电子邮件是否看不见,最后我希望它们恢复为“看不见”状态。 但是,我只遇到了“imap_setflag_full”,它没有这个选项 public function pop_mails(){ $message_count = imap_num_msg($this -> _inbox); $

我正试着制作一个程序,接收来自邮报的电子邮件。 一切都很好,很美。几乎。。 不幸的是,问题在于邮件何时“看不见”。脚本将其状态更改为“已看到”

我不想要这个

我试着这么做:一开始我检查电子邮件是否看不见,最后我希望它们恢复为“看不见”状态。 但是,我只遇到了“imap_setflag_full”,它没有这个选项

    public function pop_mails(){
    $message_count = imap_num_msg($this -> _inbox);
    $date = date('Y-m-d'); 
    mkdir("./$date", 0777);

    for($i=1; $i<=$message_count; $i++){
        $overview = imap_fetch_overview($this->_inbox, $i);

            $seen = $overview[0] -> seen;
            $name = imap_utf8($overview[0]->subject);
            $named = strtr($name, ":", ".");
            $headers = imap_fetchheader($this->_inbox, $i, FT_PREFETCHTEXT);

            $body = imap_body($this->_inbox, $i);
            file_put_contents($date.'/'.$named. '.eml', $headers . "\n" . $body);

            if($seen =="0") {
                imap_setflag_full($this->_inbox, $seen, "\\Seen");
            }   
    }
}
公共功能pop_mails(){
$message\u count=imap\u num\u msg($this->\u收件箱);
$date=日期('Y-m-d');
mkdir(“./$date”,0777);
对于($i=1;$i_收件箱,$i);
$SEED=$overview[0]->SEED;
$name=imap_utf8($overview[0]->subject);
$named=strtr($name,“:”,“);
$headers=imap_fetchheader($this->_收件箱,$i,FT_预取文本);
$body=imap\u body($this->\u收件箱,$i);
文件内容($date./'.$named..eml',$headers.\n.$body);
如果($seen==“0”){
imap_setflag_full($this->_收件箱,$seen,“\\seen”);
}   
}
}

您能帮助我吗?

您只需在流程结束时清除\\Seen标志:

$status=imap\U clearflag\U full($this->\u收件箱,“$email\u number”,“\\Seen”)


您只需在流程结束时清除\\Seen标志:

$status=imap\U clearflag\U full($this->\u收件箱,“$email\u number”,“\\Seen”)


你说得对
FT_PEEK
是个好方法:)你说得对
FT_PEEK
是个好方法:)