Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Отправка почты. Проблема с переносом каретки


Автор: AtaL 17.11.2007, 18:18
Форма отправки почты имеет поле textarea для сообщения.

Все вроде бы работает, однако в итоговом тексте письма (допустим, в почтовом интерфейсе mail.ru) строки из textarea вместо переноса разделены пробелом. Пожалуйста, подскажите, как быть с переносом каретки?

Автор: dVital 17.11.2007, 20:11
Цитата(AtaL @ 17.11.2007,  18:18)
Форма отправки почты имеет поле textarea для сообщения.

Все вроде бы работает, однако в итоговом тексте письма (допустим, в почтовом интерфейсе mail.ru) строки из textarea вместо переноса разделены пробелом. Пожалуйста, подскажите, как быть с переносом каретки?

Чтобы перенос каретки был в виден в веб-интерфейсе (типа mail.ru), то нужно заменить перенос каретки на обычный <br />. И content-type поставить text/html .

Код

$message = str_replace("\n", "<br />", $message);

Автор: smartov 17.11.2007, 20:19
AtaL, думаю ты ставишь "\n" а mail.ru читает письмо как html формат.
Попробуй использовать <br>

Автор: HotHead 17.11.2007, 20:54
Очень многое зависит от заголовков письма. В принципе наиболее вероятный вариант уже указан выше - Content-Type: text/html; без замены \n на <br>. Можно либо произвести замену, либо изменить тип на text/plain. Было бы неплохо взглянуть на заголовки письма, если это не поможет.

Автор: AtaL 29.11.2007, 03:13
Спасибо всем!
Дело действительно было в Content-Type: text/html. Проблема решена при помощи 
$str =  nl2br($str);

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)