Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Отправка почты функцией mail() и разделители строк в теле письма
 
 автор: tAleks   (21.12.2011 в 22:07)   письмо автору
 
 

Недавно при рассылке писем с хостинга, письма отправленные с "Content-type: text/plain", начали приходить с интеравлами между строк, строки текста начали чередоваться пустой строкой.

Экспериментальным путем вычислили, что сей глюк зависит от разделитя строк. Если в теле письма строки разделяются "\r\n", то тело выглядит так:

Текст текст текст

Текст текст текст

Текст текст текст


А если строки письма разделяются так "\n", то тело выгдялит так:

Текст текст текст
Текст текст текст
Текст текст текст


Естестенно, мне такой расклад не нравится, начал теребить хостера. Они приводят пример с разделителем "\n" и говорят что у них все работает нормально.

Но ведь ранее такого глюка небыло.

Вопрос: Является ли это глюком? Нормально ли то, что при отправке писем и "\r" и "\n", трактуются как "пернос строки"?

Вопрос 2: Если это глюк, то кто его должен исправить? Хостер? или я все скрипты перелапатить?

Я считаю что это глюк у хостер, т.к. ранее такого глюка не наблюдалось, но доказать ему это не могу, т.к не знаю как работает сервер отправки почты, и почему он так "криво" реагирует на это разделитель строк. Мое утверждение о том, что раньше такого глюка небыло хостер игнорирует. На что мен егму указать, чтобы он пошел и подкрутил свой сервер?

  Ответить  
 
 автор: elenaki   (21.12.2011 в 22:13)   письмо автору
 
   для: tAleks   (21.12.2011 в 22:07)
 

$EOL = substr(PHP_OS, 0, 3) != "WIN" ? "\n" : "\r\n";     

  Ответить  
 
 автор: tAleks   (21.12.2011 в 22:20)   письмо автору
 
   для: elenaki   (21.12.2011 в 22:13)
 

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

И проблема сейчас в теле письма. Тело - это единый кусок, который берется из БД. А в БД он попадает через форму.

  Ответить  
 
 автор: elenaki   (21.12.2011 в 22:23)   письмо автору
 
   для: tAleks   (21.12.2011 в 22:20)
 

в теле письма тоже можно заменить двойные переносы на одинарные или наоборот.
str_replace() еще никто не отменял. и лучше это делать еще при занесении в базу.

  Ответить  
 
 автор: tAleks   (21.12.2011 в 22:34)   письмо автору
 
   для: elenaki   (21.12.2011 в 22:23)
 

Да, str_replace() никто не отменял. Но вопрос не в этом.

А в том, что до 19 декабря, все работало нормально, а сегодняшняя рассылка пришла с интервалами между строчками.

И вопрос в том, является ли это глюком со стороны хостера? Должна ли фукнция mail() (или кто-там, сервер или еще кто, неадекватно реагирует на резделитель \r\n), так неадекватно реагировать на этот разделитель?

Можно конечно мне сейчас прелапатить все скрипты. А можно хостеру подкруитить свой сервер.

  Ответить  
 
 автор: tAleks   (22.12.2011 в 09:49)   письмо автору
 
   для: tAleks   (21.12.2011 в 22:07)
 

Кто-нибудь еще что-нибудь подскажет?

Нашел в мануале, здесь: http://php.net/manual/ru/function.mail.php


Замечание:

Если сообщения не отправляются, попробуйте использовать только LF (\n). Некоторые некачественные агенты пересылки сообщений Unix заменяют LF на CRLF автоматически (что приводит к двойному CR, если использовалось CRLF). Используйте эту меру в крайнем случае, так как это нарушает » RFC 2822.


Правда это из раздела additional_headers (необязательный) . Но ведь это оно? Это указывает на ошибку со стороны хостера?

  Ответить  
 
 автор: tAleks   (28.12.2011 в 15:51)   письмо автору
 
   для: tAleks   (21.12.2011 в 22:07)
 

Поможет кто-нибудь разобраться с этим делом? Хостер-гад, по прежнему утверждает что никаких настроек не изменял.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования