Отображать каждое тело письма, как оно есть в браузере, используя PHP

0
<?php
    $hostname = '{imap.gmail.com:993/imap/ssl}INBOX';
    $username = '[email protected]';
    $password = '********** ';
    $inbox = imap_open($hostname,$username,$password);
    $emails = imap_search($inbox,'FROM "[email protected]"');
    foreach ($emails as $e){
        $overview = imap_fetch_overview($inbox,$e,0);
        $message = imap_fetchbody($inbox,$e,1);
        echo $message 
    }
?>

Когда я попытался запустить вышеуказанный код, он выглядит так:

Год: 1996 Марка: Mercury Модель: Villager Привод: Автоматический Двигатель: 3.6 - 6 Цилиндры ----------------------------- Часть: Трансмиссия ----------------------------- Имя: ABCD Телефон: Текст: Нет Электронная почта: [email protected] Местоположение: xyz, 123456 Примечания: Хорошая перестроенная передача

Ниже представлен фактический формат, который мне нужен, и который тот же самый в gmail:

Год выпуска: 1996

Сделать: Меркурий

Модель: Villager

Привод: автоматический

Двигатель: 3.6 - 6 Цилиндры

Часть: Передача

Имя: ABCD

Телефон:

Текст: Нет

Электронная почта: [email protected]

Расположение: xyz, 123456

Примечания: Хорошая перестроенная передача

  • 0
    Примечание: точка с запятой отсутствует после вашего последнего echo .
Теги:

2 ответа

0

Используйте функцию nl2br: "Возвращает строку с '<br/>' или '<br>' вставленную перед всеми новыми строками (\r\n, \n\r, \n и \r)."

Т.е. заменить echo $message на echo nl2br( $message ).

  • 0
    Большое спасибо, это работает для меня, но когда я попытался сохранить контент в базу данных, сохранить его с тегами html, мне не нужен tat, так как я собираюсь отобразить его в текстовом поле в моем приложении, он собирается отобразить все сообщения с тегами HTML, что делать .....?
  • 0
    Для текстового поля ( <textarea> HTML <textarea> ?) Эта функция вам не нужна. Разрывы строк будут показаны автоматически. Просто используйте функцию для просмотра содержимого базы данных (не в форме).
Показать ещё 2 комментария
0

Я предполагаю, что ваш тело письма содержит символы возврата каретки (\n). Они не будут отображаться как таковые в браузере.

Чтобы исправить это, проще всего изменить команду echo:

echo $message.'<br/>'

Это приведет к сложному перерыву после каждой строки

Ещё вопросы

Сообщество Overcoder
Наверх
Меню