笔者在本地测试时直接使用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?=
的一串代码,再交由邮件服务器按照编码解析,这样发送的邮件中文标题可以正常显示。