PHP_EOL должен использоваться в электронных письмах?

Я вижу много почтовых реализаций PHP с помощью "\r\n", но я также видел некоторых из них использующий константу PHP_EOL. Какой лучше?

Спасибо за любую справку
Столица

6
задан Metropolis 14 July 2010 в 16:00
поделиться

3 ответа

Если это необходимо для завершения строк в электронном письме, то вам нужно изучить спецификацию электронной почты, а не то, что используется на какой-либо конкретной платформе.

Строки в электронном письме завершаются CRLF ("\ r \ n") в соответствии с RFC2821

командами SMTP и, если не изменено расширение услуги, данные сообщения, передаются «строками». Линии состоит из нуля или более данных символы, оканчивающиеся последовательностью Символ ASCII "CR" (шестнадцатеричное значение 0D) сразу за которым следует ASCII символ «LF» (шестнадцатеричное значение 0A). Этот завершающая последовательность обозначается как в этом документе. Соответствие реализации НЕ ДОЛЖНЫ распознавать или сгенерировать любого другого персонажа или последовательность символов в виде строки terminator

Кажется довольно очевидным, что в электронном письме конец строки должен быть отправлен как \ r \ n. Отправка чего-либо еще может работать, но это неправильно, если вы не используете «расширение службы», и если да, то вы, вероятно, знаете, что вам все равно следует отправлять.

16
ответ дан 8 December 2019 в 13:43
поделиться

\r\n - это новая строка Windows, если ваши клиенты в основном пользователи Windows, то это вам подойдет.

Я также полагаю, что большинство почтовых клиентов не-Windows компенсируют это в любом случае, поэтому \r\n не должно быть проблемой на Mac или *Nix.

0
ответ дан 8 December 2019 в 13:43
поделиться

Просто чтобы убедиться:

PHP_EOL не повлияет на электронную почту на стороне получателя . Он будет использовать новую комбинацию символов строки, которая является обычной в системе, в которой работает ваш PHP-скрипт.

Итак, если у вас есть сервер Linux / Unix, PHP_EOL приведет к \ n , а если у вас есть сервер Windows, это будет \ r \ n .

Сегодня не должно иметь большого значения, чем вы пользуетесь, и я думаю , что большинство почтовых приложений Windows также могут обрабатывать только \ n (черт возьми, даже WordPad понимает это, это Блокнот что есть проблемы).

1
ответ дан 8 December 2019 в 13:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: