嵌入式图像导致imap_fetchbody()问题

时间:2013-06-14 10:33:06

标签: php imap

我有一个电子邮件系统,可以使用PHP检索电子邮件,然后将它们放入数据库中。

这样可以正常使用,但有一个问题是电子邮件中嵌入的图像(不是附件)放在电子邮件正文的任何​​位置。

当我的PHP脚本遇到这些数据时,它将整个邮件解析为一堆垃圾,因为想要一个更好的词,这意味着我根本不知道电子邮件中的内容。

这个部分出现了问题:

$message        =   imap_fetchbody($inbox,$email_number,1.2);
echo $message;

出现如下内容:

  

/ 9J / 4AAQSkZJRgABAQEAYABgAAD / 2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIf   IiEmKzcvJik0KSEiMEExNDk7Pj4 + JS5ESUM8SDc9Pjv / 2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7   Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv / wAARCAAxAI8DASIA   AhEBAxEB / 8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL / 8QAtRAAAgEDAwIEAwUFBAQA   AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3

是否有人遇到此问题并设法解决或知道如何处理?

我尝试了以下功能,但无济于事:

quoted_printable_decode( $message );  
imap_qprint( $message );
imap_utf8( $message );

使用base64_decode( $message )只需打印如下:

  

JFIF`` C

     

%$ “” &安培;!+ 7 /&安培;)4)!“0A149;>>>%DIC;ç

     

(“(;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;; 1"   }!1AQa“Q2#BR $ 3房   %安培;'()* 456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz    w!1AQaq“2 B #3R br   $ 4%&安培;'() 56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz 【J(R [吨m9KOGp [NP   4i % cA՘ ƹx O v$ B o8 Q

1 个答案:

答案 0 :(得分:0)

最后,这与抓取电子邮件的错误部分(引用1.2的部分)有关。

这是通过使用我在下面找到的神奇工具解决的,它现在解决了我的问题:

http://www.electrictoolbox.com/php-imap-message-body-attachments/

感谢Max在这里指出了这个问题。