我即将在可能包含不安全用户输入的代码中发送html电子邮件。我注意到如果我html逃脱主题,GMail将显示转义的内容(所以如果我的主题是"This & That"
,我将其清理为"This & That"
,Gmail会显示后者)。 Thunderbird也是如此。假设所有电子邮件客户端都不需要转义主题html是否安全?
答案 0 :(得分:8)
无需在主题行中对HTML实体进行编码。在HTML主体中进行编码的原因是,如果您使用的是XHTML,因为它派生自XML,将&
视为保留字符。
但是,电子邮件的主题行不是HTML,XML或XHTML。这只是纯文本。因此,您不需要将&符号编码为&
。如果你对它进行编码,因为它没有被解析为HTML,它将显示为编码。
如果要包含非ASCII字符(例如£
),则需要将整个“信封”(包括电子邮件正文)编码为UTF-8。
因此,在代码中,以下内容将显示为:
| Subject Line | Body
====================================
& | & | &
& | & | &
UTF-8 £ | £ | £
ASCII £ | n/a | n/a
£ | £ | £
注意:Microsoft Office有一个奇怪的UTF-8实现,因此并非所有UTF-8字符都能正常工作。
答案 1 :(得分:2)
主题字段是“HTML内容”的外。它与HTML没有任何关系。
但是,我没有这方面的参考......
答案 2 :(得分:2)