在Java实现发送邮件功能时,直接使用 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?=
的一串代码,再交由邮件服务器按照编码解析,这样发送的邮件中文标题可以正常显示。
详情参考:https://blog.csdn.net/IceCaptain/article/details/79332382;