电子邮件地址应遵循RFC822标准
JavaMail的MimeMessage使用InternetAddress:
此类表示使用RFC822语法的Internet电子邮件地址。典型的地址语法格式为“
user@host.domain”或“个人名称user@host.domain”。
RFC822格式说:
请注意,RFC
822将字符库限制为ASCII。实际上,其他字符(例如ä或é)通常在带引号的字符串中工作,这些字符串用于注释(和注释)目的,但不得在适当的地址中使用它们。
地址的个人名称支持不同的字符集
InternetAddress使用个人名称:
如果名称包含非US-ASCII字符,则将根据RFC 2047使用指定的字符集对名称进行编码。如果名称仅包含US-
ASCII字符,则不进行编码,并且按原样使用名称。
要设置用于编码的字符集,有一个InternetAddress#constructor。看资料:
public InternetAddress(String address, String personal, String charset) throws UnsupportedEncodingException { this.address = address; setPersonal(personal, charset);}它只调用setPersonal(..),因此选择最方便的方式。
要查找字符集,请使用Charset.forName()。



