【发布时间】:2016-02-14 00:25:55
【问题描述】:
我想使用带有邮件附件的javax.mail-api 发送电子邮件。文件名应包含变音符号和下划线。
为了得到正确的文件名,我正在测试如下:
Session session=Session.getDefaultInstance(new Properties());
MimeMessage mimeMsg= new MimeMessage(session);
mimeMsg.setSubject("Ä_my_test_string","utf-8");
System.out.println(mimeMsg.getHeader("Subject")[0]);
结果:=?utf-8?Q?=C3=84=5Fmy=5Ftest=5Fstring?=
问题:如何获得与输入字符串完全相同的邮件主题?
【问题讨论】:
-
您是否尝试过实际发送邮件?我想您会发现主题在大多数邮件阅读器中都能正确显示。您看到的是以quoted-printable 编码的主题,因为电子邮件规范已经要求了很长时间。
-
好的,但是当我收到邮件时,例如在
outlook中,文件名包含上面的字符串结果。 “编码”字符不会被解释。 -
出于好奇,您是否尝试过将该邮件发送给任何非 Outlook 收件人,例如免费的网络邮件帐户?
-
确实,我也尝试过
gmail,但结果相同。 -
确实很奇怪。这是一个长镜头,但是……将字符集从“utf-8”更改为“UTF-8”有什么不同吗?
标签: java email jakarta-mail