java mail发送邮件出现乱码
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 = "例子<sample@staff.tixa.com>"; // 发送者 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入门教程
以上是java mail发送邮件出现乱码的详细内容。更多信息请关注PHP中文网其他相关文章!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
刺客信条阴影:贝壳谜语解决方案
1 周前
By DDD
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
在哪里可以找到原子中的起重机控制钥匙卡
1 周前
By DDD

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Java 8引入了Stream API,提供了一种强大且表达力丰富的处理数据集合的方式。然而,使用Stream时,一个常见问题是:如何从forEach操作中中断或返回? 传统循环允许提前中断或返回,但Stream的forEach方法并不直接支持这种方式。本文将解释原因,并探讨在Stream处理系统中实现提前终止的替代方法。 延伸阅读: Java Stream API改进 理解Stream forEach forEach方法是一个终端操作,它对Stream中的每个元素执行一个操作。它的设计意图是处
