笔者在本地测试时直接使用message.setSubject(subject)的方式设置标题,发送邮件的中文标题可以正常显示,但是将项目部署到服务器后,发送邮件的中文标题就变成了几个问号,下面给出解决方案:
String subject = MimeUtility.encodeWord(
"标题内容",
"UTF-8",
"Q");
message.setSubject(subject);
通过这种方式得到的subject是类似于=?UTF-8?Q?=E6=A0=87=E9=A2=98=E5=86=85=E5=AE=B9?=的一串代码,再交由邮件服务器按照编码解析,这样发送的邮件中文标题可以正常显示。