2016-03-03 1 views
0

Я загрузил php-mime-mail-parser (https://github.com/php-mime-mail-parser/php-mime-mail-parser), и мне сложно понять, как подключить мое IMAP-соединение к пакету анализировать входящие письма.Как подключить мое IMAP-соединение в php-mime-mail-parser

Я сделал это несколько лет назад успешно, и я не могу вспомнить, как я это сделал.

Мой СЛОМЛЕННЫЙ код выглядит следующим образом:

$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; 

Любая помощь будет appreciatd

ответ

0

Трюк, казалось бы, должен быть в состоянии объединить imap_header с imap_body перед передачей текста в PHP-мим -mail_parser.

Полный код выглядит следующим образом:

$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; 

 Смежные вопросы

  • Нет связанных вопросов^_^