为什么电子邮件主题包含换行符或回车 return 个字符?
Why does an email subject contain linefeed or carriage return characters?
我正在制作一个代码来检查邮箱,并将看不见的邮件转发给另一个用户。
但有时它会因错误而失败:
ValueError: Header values may not contain linefeed or carriage return characters
我检查了原始获取的数据,发现 'Subject' 值包含 \r\n。
并非所有邮件都包含,但有些邮件包含。
就是邮箱里显示正常,不知道为什么有的邮箱里有这样的字符。
跟题目长短有关系吗?
我该如何处理这些情况?
谢谢:)
电子邮件具有最大行长度。这是历史性的,可以这么说,这条规则在 100% 的时间里都没有得到遵守。但在 header 字段中,space 将被视为与 CR LF 和一系列 space 或 htab 字符相同。这是一个很长的主题,以这种方式编码:
Subject: Pretend this is about 80-90
characters long
最简单的处理方法是将任何 space 个字符序列视为单个 space.
阅读任何电子邮件的来源,您会在大多数情况下看到这种换行。 Received
字段几乎总是换行,例如,如果收件人很多,则通常 To
,或者附件 Content-Type
/Content-Disposition
。
我正在制作一个代码来检查邮箱,并将看不见的邮件转发给另一个用户。
但有时它会因错误而失败:
ValueError: Header values may not contain linefeed or carriage return characters
我检查了原始获取的数据,发现 'Subject' 值包含 \r\n。
并非所有邮件都包含,但有些邮件包含。
就是邮箱里显示正常,不知道为什么有的邮箱里有这样的字符。
跟题目长短有关系吗?
我该如何处理这些情况?
谢谢:)
电子邮件具有最大行长度。这是历史性的,可以这么说,这条规则在 100% 的时间里都没有得到遵守。但在 header 字段中,space 将被视为与 CR LF 和一系列 space 或 htab 字符相同。这是一个很长的主题,以这种方式编码:
Subject: Pretend this is about 80-90
characters long
最简单的处理方法是将任何 space 个字符序列视为单个 space.
阅读任何电子邮件的来源,您会在大多数情况下看到这种换行。 Received
字段几乎总是换行,例如,如果收件人很多,则通常 To
,或者附件 Content-Type
/Content-Disposition
。