在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.youkuaiyun.com/IceCaptain/article/details/79332382;
本文介绍在Java中发送带有中文标题的邮件时遇到的乱码问题及解决方案。通过使用MimeUtility.encodeWord方法对中文标题进行编码,确保邮件在服务器部署后中文标题仍能正常显示。
766

被折叠的 条评论
为什么被折叠?



