2009-02-10 49 views
2

像Facebook這樣的網站在發送消息的主題行中有用戶名。郵件主題需要什麼轉義或淨化?

因此,您將在用戶輸入的值在郵件主題上做什麼轉義?或者您是否只允許a-z,0-9,句點,逗號和單引號之外的任何內容?

回答

1

你需要小心電子郵件標題,8位字符有點不禁忌。 (郵件服務器將拒絕它們)。

這樣做的正確方法是MIME編碼您的主題行,並確保ASCII字符\ n不在主題行(技術上多行主題是可能的,但我會想象大量的郵件客戶端會有問題)

請參閱http://en.wikipedia.org/wiki/MIME#Encoded-Word瞭解更多信息。

1

如果有禁止的字符,則需要轉義。主題由NL終止,因此這是唯一不應放入標題的(ASCII)字符。

參見rfc821

1

這是同樣的問題,聯繫方式。

如果你看看電子郵件標題,你會得到例如這個:

Subject: user123 has sent you an invite 
From: "User123" <[email protected]> 

你必須確保用戶名不像電子郵件頭的值。如果用戶可以自己命名爲「收件人:[email protected][email protected][email protected][email protected]」,則必須清除輸入內容。

搜索「聯繫表單垃圾郵件」應該會告訴您該怎麼做。你至少應該刪除所有出現的「收件人:」,「主題:」,「發件人:」等。

相關問題