像Facebook这样的网站在主题行中有用户的名字,它会向您发送消息。
因此,您对用户在邮件主题中输入的值进行了哪些转义?或者你只是不允许除了a-z,0-9,句号,逗号和单引号之外的其他内容?
答案 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不在主题行中(技术上可以使用多行主题,但我想有很多邮件客户端会有问题)