2017-02-20 3 views
0

У меня есть веб-приложение php, которое я создаю для получения всех функций. Я создал приложение в среде Dev на xampp, и когда я использовал imap_fetchbody, используя вариант 1.2 (HTML), он хорошо читает HTML. Однако я сейчас внедрил приложение в производство на сервере Windows, используя iis - точно такой же код, однако он не получит HTML-контент, он просто показывает пробел. Когда я перехожу на 1.1 (обычный текст), тело извлекается (но выглядит дерьмо, поскольку нет разрывов строк и т. Д.)php using imap_fetchbody мое приложение на iis не извлекает html

ответ

0

Так что по какой-то причине, когда я использую 2 как часть электронной почты вместо 1, она работает. Странно, что те же письма были в разных частях для apache и iis.

imap_fetchbody($mailbox, $emailNum, 2) 

вышеуказанные работы, я на самом деле сделал это:

$body = (imap_fetchbody($mailbox,$emailNum,1.2))?imap_fetchbody($mailbox,$emailNum,1.2):imap_fetchbody($mailbox,$emailNum,2); 
+1

Вы не должны жесткий код номер детали. Части движутся в зависимости от того, какое программное обеспечение отправило электронное письмо, будь то вложения и т. Д. Вы должны получить структуру тела, чтобы узнать, где находятся части. – Max

+0

Спасибо, Макс, как вы это делаете? – RWest

+1

Начните с imap_fetchstructure. Вы можете найти примеры здесь и в других местах. Это также поможет вам узнать, какое кодирование/декодирование необходимо применять к вашим частям. – Max