java mail header_java使用mail发送邮件时出现乱码如何解决
java使用mail发送邮件时出现乱码如何解决
发布时间:2020-06-24 13:23:24
来源:亿速云
阅读:199
作者:Leah
java使用mail发送邮件时出现乱码如何解决?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
1、在发送正文时指定正文编码:
在发送邮件时使用MimeBodyPart body = new MimeBodyPart();
body.setContent(content, "text/html;charset=GB2312");
注意此时的content编码必须是所指定的编码格式。
2、在设置邮件标题时也要指定标题的编码:MimeMultipart mmp=new MimeMultipart();
mmp.setSubject(subject, "GB2312");
同上也要求subject的编码和指定的编码一致。
3、发送正文时也可以在header中指定传输编码:body.setHeader("Content-Transfer-Encoding", "base64"); // 指定使用base64编码
4、示例如下:import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;
public class MailSender {
public static void main(String[] args) {
try {
String host = "staff.tixa.com"; // smtp主机
String username = "sample@staff.tixa.com"; // 认证用户名
String password = "sample"; // 认证密码
String from = "例子"; // 发送者
String to = "toOne@staff.tixa.com, toAnother@staff.tixa.com"; // 接受者,用“,”分隔
String subject = "测试例子";
String content = "仅仅是个供测试的例子。";
// 建立session
Properties prop = new Properties();
prop.put("mail.smtp.host", host);
prop.put("mail.smtp.auth", "true"); //是否需要认证
Session session = Session.getDefaultInstance(prop, null);
// 创建MIME邮件对象
MimeMessage mimeMsg = new MimeMessage(session);
MimeMultipart mp = new MimeMultipart();
// 设置信息
mimeMsg.setFrom(new InternetAddress(from));
mimeMsg.setSubject(subject, "GB2312"); // !!!注意设置编码
mimeMsg.setRecipients(
Message.RecipientType.TO,
InternetAddress.parse(to));
// 设置正文
BodyPart body = new MimeBodyPart();
body.setContent(content, "text/plain;charset=GB2312"); // !!!注意设置编码
mp.addBodyPart(body);
mimeMsg.setContent(mp);
// 发送邮件
Transport transport = session.getTransport("smtp");
transport.connect(host, username, password);
transport.sendMessage(mimeMsg,mimeMsg.getRecipients(Message.RecipientType.TO));
transport.close();
}
catch(Exception exp) {
exp.printStackTrace();
}
}
看完上述内容,你们掌握java使用mail发送邮件时出现乱码的解决方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
java mail header_java使用mail发送邮件时出现乱码如何解决相关推荐
- JAVA 以UTF-8导出CSV文件时产生乱码的解决方法
OutputStreamWriter osw = new OutputStreamWriter(resp.getOutputStream(), "UTF-8"); // 要输出的内 ...
- Oracle UTL_STMP发送邮件时出现乱码问号解决方案
Oracle UTL_STMP发送邮件时出现乱码问号解决方案 我们使用utl_stmp 发送邮件时 标题会使用以下代码 UTL_SMTP.write_data(conn, 'Subject: ' || ...
- java jar 源码乱码,java使用jar包时出现乱码的解决方法
java使用jar包时出现乱码的解决方法 发布时间:2020-06-17 17:06:29 来源:亿速云 阅读:105 作者:元一 jar包是什么: jar(Java Archive,Java归档文件 ...
- Java中url传递中文参数取值乱码的解决方法
Java中url传递中文参数取值乱码的解决方法 参考文章: (1)Java中url传递中文参数取值乱码的解决方法 (2)https://www.cnblogs.com/liwenjuan/p/3211 ...
- linux unzip乱码,Linux 中unzip解压时中文乱码的解决办法
Linux 中unzip解压时中文乱码的解决办法 Linux 中unzip解压时中文乱码的解决办法 当我们在linux中解压一个含有中文名字的压缩包如"资料.zip"时,如果直接使 ...
- C语言读写中文时出现乱码的解决
C语言读取文件时中文乱码处理 之前一直以为读取中文时变成乱码时因为读取文件时字符串长度不足,或者是文件中中文格式不对,上网百度以后发现是TXT格式文件在创建时默认编码为UTF-8,这导致在读取文件时编 ...
- java json utf-8_java读取json数据发生中文乱码的解决方法
java读取json数据发生中文乱码的解决方法 发布时间:2020-06-21 15:58:48 来源:亿速云 阅读:268 作者:鸽子 java读取json数据出现乱码的代码://从json文件中读 ...
- Java和matlab混合编程 java调用.jar包中方法时参数传递出错的解决办法
问题描述:懒得重现错误的场景,在别人的描述界面偷了张图(https://bbs.csdn.net/topics/390794513,帖子里面描述了问题但没有提供解决办法qvq) error:The m ...
- 【java】maven工程使用switch时不能使用String解决方法
原因 : 1.7之前不支持使用String 解决方法 : 1.右击程序------> Build Path ------>Config Build Path 2.选择图示选项 3.更改选项 ...
最新文章
- Facebook增强版LASER开源:零样本迁移学习,支持93种语言
- 58 Node.js中操作mongoDB数据库
- 柱状图、堆叠柱状图、瀑布图有什么区别?怎样用Python绘制?(附代码)
- python3.5怎么安装pip-python3.5.2安装pip管理工具
- 5、【华为HCIE-Storage】--RAID类型
- 你确定你真的喜欢编程吗??
- 2022年全球及中国工业用真空电缆行业十四五产能需求与投资战略研究报告
- 总算是把用户流失分析讲清楚了!
- Jexus~docker与它产生了暖味
- 【codevs2497】 Acting Cute
- dagger2 注入_如何使用Dagger 2在您的应用程序中实现依赖注入
- spark学习-73-源代码:Endpoint模型介绍(5)-Netty通讯小例子
- 编译linux源码,linux源码树编译
- 中国水雾化铁粉行业市场供需与战略研究报告
- JavaScript——模块化的历史进程梳理
- ps怎么更改背景图层大小_ps怎么修改图层大小
- C++-线程的join和detach
- 统计一个字符串中单词的个数(C语言)
- 攻防世界 reverse reverse-for-the-holy-grail-350
- 智原深耕网通应用 布建完整ASIC解决方案