如何将我的imap连接提供给php mime邮件解析器
我已经下载了php mime邮件解析器(),我很难弄清楚如何将我的imap连接连接到包以解析传入的电子邮件 几年前我成功地做到了这一点,但我不记得我是怎么做到的 我的坏代码看起来像:如何将我的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
$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
}
}
}
出口