如何将我的imap连接提供给php mime邮件解析器

如何将我的imap连接提供给php mime邮件解析器,php,email,parsing,imap,Php,Email,Parsing,Imap,我已经下载了php mime邮件解析器(),我很难弄清楚如何将我的imap连接连接到包以解析传入的电子邮件 几年前我成功地做到了这一点,但我不记得我是怎么做到的 我的坏代码看起来像: $mbox = imap_open($host, $login, $password) or die("connection errror: " . imap_last_error()); $Parser = new PhpMimeMailParser\Parser(); $P

我已经下载了php mime邮件解析器(),我很难弄清楚如何将我的imap连接连接到包以解析传入的电子邮件

几年前我成功地做到了这一点,但我不记得我是怎么做到的

我的坏代码看起来像:

 $mbox = imap_open($host, $login, $password) or die("connection errror: " . imap_last_error());


        $Parser = new PhpMimeMailParser\Parser();
        $Parser->setStream($mbox);
// We can get all the necessary data
        $to = $Parser->getHeader('to');
        $from = $Parser->getHeader('from');
        $subject = $Parser->getHeader('subject');

        $text = $Parser->getMessageBody('text');
        $html = $Parser->getMessageBody('html');
        echo PHP_EOL . "*** $to : $from : $subject : $text" . PHP_EOL;
// loop the attachments
        $attachments = $Parser->getAttachments();

        if (count($attachments) > 0) {
            //print_r($attachments);
            //exit;
            foreach ($attachments as $attachment) {
                echo 'Filename : ' . $attachment->getFilename() . '<br />'; // logo.jpg
                echo 'Filesize : ' . filesize($attach_dir . $attachment->getFilename()) . '<br />'; // 1000
                echo 'Filetype : ' . $attachment->getContentType() . '<br />'; // image/jpeg
            }
            exit;
        }
        exit;
$mbox=imap\u打开($host,$login,$password)或死亡(“连接错误:”.imap\u last\u error());
$Parser=new PhpMimeMailParser\Parser();
$Parser->setStream($mbox);
//我们可以得到所有必要的数据
$to=$Parser->getHeader('to');
$from=$Parser->getHeader('from');
$subject=$Parser->getHeader('subject');
$text=$Parser->getMessageBody('text');
$html=$Parser->getMessageBody('html');
回音PHP_EOL。“***$to:$from:$subject:$text”。PHP_EOL;
//循环附件
$attachments=$Parser->getAttachments();
如果(计数($attachments)>0){
//打印(附件);
//退出;
foreach($attachments作为$attachment){
回显“Filename:”。$attachment->getFilename()。
;//logo.jpg echo“Filesize:”.Filesize($attach_dir.$attachment->getFilename())。
;//1000 回显“文件类型:”。$attachment->getContentType()。
;//图像/jpeg } 出口 } 出口

任何帮助都是值得欣赏的

在将文本传递给php-mime-mail_解析器之前,它似乎能够将imap_头与imap_体合并

完整代码如下:

   $mbox = imap_open($host, $login, $password) or die("connection errror: " . imap_last_error());
    for ($jk = 1; $jk <= imap_num_msg($mbox); $jk++) {

        $imap_body = imap_fetchheader($mbox, $jk) . imap_body($mbox, $jk);

        $Parser = new PhpMimeMailParser\Parser();
        $Parser->setText($imap_body);

        // We can get all the necessary data
        $to = $Parser->getHeader('to');
        $from = $Parser->getHeader('from');
        $subject = $Parser->getHeader('subject');

        $text = $Parser->getMessageBody('text');
        $html = $Parser->getMessageBody('html');

        echo PHP_EOL . "*** $to : $from : $subject : $savedirpath" . PHP_EOL;
        echo PHP_EOL . "**********************************" . PHP_EOL;

        $Parser->saveAttachments($savedirpath);
        $attachments = $Parser->getAttachments();

        if (count($attachments) > 0) {
            //print_r($attachments);
            //exit;
            foreach ($attachments as $attachment) {
                echo 'Filename : ' . $attachment->getFilename() . '<br />'; // logo.jpg
                echo 'Filesize : ' . filesize($savedirpath . $attachment->getFilename()) . '<br />'; // 1000
                echo 'Filetype : ' . $attachment->getContentType() . '<br />'; // image/jpeg
            }
        }
    }
    exit;
$mbox=imap\u打开($host,$login,$password)或死亡(“连接错误:”.imap\u last\u error());
对于($jk=1;$jk setText($imap_body);
//我们可以得到所有必要的数据
$to=$Parser->getHeader('to');
$from=$Parser->getHeader('from');
$subject=$Parser->getHeader('subject');
$text=$Parser->getMessageBody('text');
$html=$Parser->getMessageBody('html');
echo PHP_EOL.“***$to:$from:$subject:$savedirpath.PHP_EOL;
echo PHP_EOL.“*************************************************”。PHP_EOL;
$Parser->saveAttachments($savedirpath);
$attachments=$Parser->getAttachments();
如果(计数($attachments)>0){
//打印(附件);
//退出;
foreach($attachments作为$attachment){
回显“Filename:”。$attachment->getFilename()。
;//logo.jpg echo“Filesize:”.Filesize($savedirpath.$attachment->getFilename())。
;//1000 回显“文件类型:”。$attachment->getContentType()。
;//图像/jpeg } } } 出口