Тело электронной почты не отображается в html - PullRequest
0 голосов
/ 17 апреля 2019

Я работаю над своим кодом, чтобы получать и читать мои письма, используя php. У меня возникла проблема с чтением моего письма, когда я отправил себе тестовое письмо. Я не могу прочитать письмо в text / html, когда я попробовал это:

<?php

error_reporting(E_ALL);

ini_set('display_errors', 1);

$imap = imap_open("{imap.mydomain.com:993/imap/ssl/novalidate-cert}INBOX", "rob@mydomain.com", "mypassword") or die("Can't connect: " . imap_last_error());


$message = imap_fetchbody($imap,217, 1);


$message = nl2br($message);

echo $message;


/* close the connection */

imap_close($imap);


?>

Я также пробовал это:

$message = imap_fetchbody($imap,217, 1.2);

Когда я пытался imap_fetchbody($imap,217, 1.2);, он не будет отображать электронную почту в текстовом / html, поэтому, когда я попытался imap_fetchbody($imap,217, 1), он будет отображать только тело письма в виде обычного текста. Я хочу прочитать свою электронную почту в формате text / html, но не знаю, как это сделать.

Я проверил в шапке, и он показывает: Content-Type: multipart/alternative;

Я использую библиотеку pearl imap для чтения писем.

Не могли бы вы показать мне пример того, как я мог читать свою электронную почту в текстовом / html, чтобы я мог видеть гиперссылку и HTML-код?

Спасибо.

1 Ответ

0 голосов
/ 25 апреля 2019

Согласно документации для функции imap_fetchbody , аргумент раздела равен

строка целых чисел, разделенных точкой, которая указывается в списке частей тела согласно спецификации IMAP4

поэтому попробуйте передать его как строку, а не как число с плавающей запятой:

$message = imap_fetchbody($imap,217, "1.2");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...