javaMail发送邮件时的中文乱码问题
2010-01-25 17:16
363 查看
JavaMail中的邮件主题需要进行BASE64编码,格式形如:
=?GB2312?B?xPq1xMPcwuvS0b6t1tjWw6Osx+u+ob/stcfCvKOssqLQ3rjEw9zC66Oh?=
所
以,直接使用msg.setSubject("中文主题"),或者msg.setSubject("中文主题".getBytes("8859_1"),
"GB2312"))都一样会出现乱码。在设置邮件主题前需要将主题字串的字节编码为BASE64格式,并添加编码头,示例代码如下:
sun.misc.BASE64Encoder enc = new sun.misc.BASE64Encoder();
String newFileName = new String("=?GB2312?B?"+enc.encode(file_name.getBytes())+"?=");
其中的file_name为文件名属性,即:将文件名先用base64编码后使用gb2312解码
=?GB2312?B?xPq1xMPcwuvS0b6t1tjWw6Osx+u+ob/stcfCvKOssqLQ3rjEw9zC66Oh?=
所
以,直接使用msg.setSubject("中文主题"),或者msg.setSubject("中文主题".getBytes("8859_1"),
"GB2312"))都一样会出现乱码。在设置邮件主题前需要将主题字串的字节编码为BASE64格式,并添加编码头,示例代码如下:
sun.misc.BASE64Encoder enc = new sun.misc.BASE64Encoder();
String newFileName = new String("=?GB2312?B?"+enc.encode(file_name.getBytes())+"?=");
其中的file_name为文件名属性,即:将文件名先用base64编码后使用gb2312解码
相关文章推荐
- Java使用Velocity模板发送HTML格式邮件并解决中文乱码问题
- PHP 发送UTF-8编码中文邮件标题乱码问题解决
- 发送邮件中文显示乱码的问题
- C# 发送邮件,附件带中文名称的Excel乱码问题
- mutt发送邮件中文乱码问题
- CI框架下,上传中文文件和发送中文邮件的标题乱码问题解决
- javamail添加邮件附件时德文、中文乱码的问题
- javamail 发送邮件 乱码问题
- 解决zabbix设置脚本发送邮件报警中文乱码问题
- 转 JavaMail发送中文邮件中主题乱码的解决方法
- python邮件发送(带附件,解决中文乱码问题)
- Java 使用 Velocity 发送邮件中文内容乱码问题的解决办法
- javamail发送带有附件的邮件时遇到的乱码问题解决方案
- 解决Django发送中文邮件时的编码及乱码问题
- Java 发送邮件 标题中文乱码问题的解决
- 用Phpmailer发送邮件发现中文竟然是乱码,原来是编码问题
- c/c++ curl smtp 发送邮件 foxmail 中文乱码问题解决
- python读取\t\n的文件转换成html表格发送邮件(解决中文乱码问题)
- android 原生 电子邮件 应用 发送邮件附带 中文名附件时 附件名称乱码问题解决
- sendmail发送邮件中文乱码问题