电子邮件主题需要什么转义或净化?

时间:2009-02-10 11:00:40

标签: email escaping

像Facebook这样的网站在主题行中有用户的名字,它会向您发送消息。

因此,您对用户在邮件主题中输入的值进行了哪些转义?或者你只是不允许除了a-z,0-9,句号,逗号和单引号之外的其他内容?

3 个答案:

答案 0 :(得分:1)

如果有禁用字符,则需要转义。主题由NL终止,因此这是唯一不应放在标题中的(ASCII)字符。

另见rfc821

答案 1 :(得分:1)

联系表格也存在同样的问题。

如果您查看电子邮件标题,例如这样:

Subject: user123 has sent you an invite
From: "User123" <user123@example.org>

您必须确保用户名与电子邮件标题的值不相似。如果用户可以将自己命名为“To:spamreceiver1 @ example.org,spamreceiver2 @ example.org,spamreceiver3 @ example.org,spamreceiver4 @ example.org”,则必须清理输入。

搜索“联系表单垃圾邮件”应该会告诉您该怎么做。你应该至少删除所有出现的“To:”,“Subject:”,“From:”等。

答案 2 :(得分:1)

你需要小心电子邮件标题,8位字符有点不禁。 (邮件服务器会拒绝它们)。

正确的方法是对你的主题行进行MIME编码并确保ASCII char \ n不在主题行中(技术上可以使用多行主题,但我想有很多邮件客户端会有问题)

有关详细信息,请参阅http://en.wikipedia.org/wiki/MIME#Encoded-Word