Почему для CR и LF так важно появляться вместе в электронной почте? - PullRequest
1 голос
/ 30 января 2009

С http://www.faqs.org/rfcs/rfc2822.html:

CR и LF ДОЛЖНЫ иметь место только как CRLF; они НЕ ДОЛЖНЫ появляться самостоятельно в организме.

У нас есть веб-служба, которая отправляет электронные письма с подтверждением, но один из наших пользователей отметил, что это не соответствует стандарту rfc2822. Поэтому мой вопрос: почему важно, чтобы CR и LF появлялись вместе в сообщениях электронной почты?

Ответы [ 4 ]

11 голосов
/ 30 января 2009

Потому что это в принятом RFC?

Реализации получены из RFC. Если бы это было не так, то не было бы никакой гарантии взаимодействия между различными реализациями. Могут существовать или не существовать технические причины, по которым они должны появляться вместе, но в этом случае эти причины не имеют значения. Это просто вопрос «потому что они так сказали».

7 голосов
/ 30 января 2009

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

В любом случае, это историческая причина для определения CR + LF в качестве ASCII-кода для новой строки. Конечно, в конце концов, это просто произвольные коды. Некоторые системы используют только CR для обозначения новой строки, некоторые системы используют только LF, некоторые полностью используют другой символ. RFC2822 пришлось выбрать один и решил разрешить только последовательность CRLF.

Поскольку RFC решил использовать CRLF, имеет смысл запретить CR или LF по отдельности, поскольку в любом случае это было бы довольно бесполезно и проблематично.

6 голосов
/ 30 января 2009

Потому что в электронной почте CRLF является разделителем строк. Если вы используете только CR или только LF, у вас будут возникать неожиданные проблемы с различными клиентами, комбинация SMTP-серверов. Некоторые серверы будут отклонять ваши электронные письма, некоторые "исправят" ваши электронные письма. Фиксированные электронные письма - одни из самых забавных в обращении.

0 голосов
/ 30 января 2009

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

...