为什么电子邮件标题必须用“ \ r \ n”分隔?

时间:2018-08-29 01:17:23

标签: php email

在PHP手册here中,它显示了以"\r\n"结尾的标题行,但从未说明原因。

我一直在搜索这一行,但是大多数结果都解释了为什么"\r\n""\n"更兼容,但是这个答案对我来说太先进了,因为我不明白为什么标题也需要。

我知道它是用来在新行上显示内容的,但是为什么对于电子邮件标题来说应该如此?

"\r\n"(在电子邮件标题的上下文中)做什么?是否存在我可能不需要"\r\n"的情况?省略"\r\n"有什么风险?这是mail()函数专有的概念吗?还是有一整类需要"\r\n"的函数?

1 个答案:

答案 0 :(得分:1)

  

我知道它是用来在新行上显示内容的,但是为什么对于电子邮件标题来说应该如此?

它可能只是标头的解析策略。在CRLF之后,检查下一个标头...

  

“ \ r \ n”有什么作用(在电子邮件标题中)?

正如我所说的,解析策略。

  

是否存在我可能不需要“ \ r \ n”的情况?

在PHP 7.2.0中,您可以传递数组而不是字符串...但是它可能只是为您处理。

  

省略“ \ r \ n”会给我带来什么风险?

未送达的电子邮件。

  

这是mail()函数专有的概念,还是有一整类需要“ \ r \ n”的函数?

不是我记得...但是在这种情况下,我认为它也将用于解析。