出现问题的地方

MimeMessage mimeMsg;//添加附件
BodyPart bp = new MimeBodyPart();
FileDataSource fileds = new FileDataSource(filename[i]);
bp.setDataHandler(new DataHandler(fileds));
//bp.setFileName(MimeUtility.encodeWord(fileds.getName()));
bp.setFileName(MimeUtility.encodeText(fileds.getName(),"utf-8",null));//设置附件名编码

MimeMessage属于javax.mail下。

尝试修改编码后qq邮箱,gmail邮箱等并没有解决乱码问题。

修改方法

使用了org.springframework.mail。

添加maven依赖

//引入依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId>
</dependency>

邮件发送

@Autowired
private JavaMailSender mailSender;/*** 发送邮件* @param from 发送者* @param to 接收者* @param subject 主题* @param text 内容* @param fileMap 附件* @return*/
public void send (String from, String to, String subject,String text,HashMap<String,String> fileMap) {try {MimeMessage mimeMessage = mailSender.createMimeMessage();MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage,true);mimeMessageHelper.setFrom(from);mimeMessageHelper.setTo(to);mimeMessageHelper.setSubject(subject);mimeMessageHelper.setText(text,true);for (Map.Entry<String,String> entry:fileMap.entrySet()) {mimeMessageHelper.addAttachment(entry.getKey(),new File(entry.getValue()));}mailSender.send(mimeMessage);} catch (MessagingException e) {e.printStackTrace();}}

spring boot配置

注意配置文件的缩进,还有mail配置在spring下。

spring:mail:host: server mail addressusername: wei@shuang.compassword: weidefault-encoding: UTF-8properties:mail:smtp:auth: truestarttls:enable: truerequired: truessl:enable: truedisplay:sendmail: wei

配置由框架读取指定值 ,所以要注意拼写

问题原因

暂时没有去查为什么javax的mail会有这个问题,或者如何去解决。有空再去翻翻。

java发送邮件附件乱码相关推荐

  1. Java发送邮件中文乱码问题

    使用Java发送邮件,会出现在windows环境中无任何问题,在linux环境中会出现标题.或者附件名称中文乱码问题.可以在程序中加入下面代码块解决. static {// 解决邮件标题.附件名称中文 ...

  2. 用java发送邮件(黄海已测试通过)

    /*** java发送带附件的邮件* 周枫* 2013.8.10*/ package com.dsideal.Util; import javax.mail.*; import javax.mail. ...

  3. Java发送邮件,附件乱码问题

    最近写的发送邮件用到了,但是附件却出现了问题,就是附件显示的乱码(.bin格式结尾/一串乱码==UTF8......)这样的样子,乱码如图:   面对这样的问题不要慌,原因好像是Java把附件分割截取 ...

  4. Java发送邮件(带附件)

    实现java发送邮件的过程大体有以下几步: 准备一个properties文件,该文件中存放SMTP服务器地址等参数. 利用properties创建一个Session对象 利用Session创建Mess ...

  5. Java发送邮件时标题和发件人乱码

    最近碰到一个问题,Java发送邮件时,本地没有问题,测试服务器也没问题,但上线后邮件的标题和发件人乱码,正文OK 通过翻阅资料,原因及解决方法如下: 原因: 当一段 Text 或者 HTML 通过电子 ...

  6. java 发送邮件(SSL加密方式,含附件)

    java 发送邮件(SSL加密方式) 一.基于javamail发送邮件 二.基于Apache提供的commons-email发送邮件 一.基于javamail发送邮件 maven: <depen ...

  7. html发送邮件代码主题主题乱码,Java发送邮件时标题和发件人乱码

    最近碰到一个问题,Java发送邮件时,本地没有问题,测试服务器也没问题,但上线后邮件的标题和发件人乱码,正文OK 通过翻阅资料,原因及解决方法如下: 原因: 当一段 Text 或者 HTML 通过电子 ...

  8. 发html邮件乱码 java,Java发送邮件时标题和发件人乱码

    # Java发送邮件时标题和发件人乱码 最近碰到一个问题,Java发送邮件时,查看邮箱结果,发件人及邮件标题正文全部乱码 通过翻阅资料,原因及解决方法如下: ``` // Set Subject: 头 ...

  9. Java发送邮件(网易163邮箱)(简单易操作篇)

    文章目录 一.前言 二.事先准备步骤 三.Java具体代码实现 1. 类有哪几个? 2.jar包配置 3.关键代码功能简介 4.具体代码 4.1 MailConst.java 负责存放一些配置 4.2 ...

最新文章

  1. push代码到github时,每次都要输入用户名和密码的问题
  2. C++ 类访问控制(public/protected/private)小结
  3. mysql matlab for循环嵌套循环语句吗_C++: for_each 和 基于范围的for循环
  4. Java使用String.format()实现补零
  5. P1460 健康的荷斯坦奶牛 Healthy Holsteins (简单的dfs)
  6. Quartus II软件的使用
  7. 搭建内网文件共享服务器,如何搭建共享服务器实现办公室文件共享?
  8. linux下如何统计一个目录下的文件个数以及代码总行数的命令
  9. 如何注册 MSDN AA
  10. 我是如何拿到蚂蚁金服实习 offer 的
  11. 获取当前时间前3天的零点时间
  12. html检测正则表达式,正则表达式在线测试工具
  13. 2012年中国最佳医院排行榜
  14. android ndk如何安装,android NDK安装
  15. 《流浪地球》反响强烈,车联网现状又该如何发展?
  16. Shiro(4)整合SpringBoot2.x
  17. 基于Python的百度AI人脸识别API接口(可用于OpenCV-Python人脸识别)
  18. 没有链克口袋,但我一样玩游戏掘金
  19. 详解操作系统中的接口
  20. MOS管(场效应管)工作原理,就是这么简单

热门文章

  1. 算法 · 深入理解 Fibonacci 数列计算及黄金分割
  2. 网页自动提交Form表单的方法
  3. 计算机三年规划书1000字,大学职业生涯规划书1000字.docx
  4. c语言 等概率随机数,等概率随机函数的实现(转)
  5. 这个专业的应届生火了!年薪50万,没出校门就被挖走
  6. android 所有的服务,Android NSD未发现所有服务
  7. python新手代码大全.pdf,python新手代码及作用
  8. 2020我的上半年好书推荐
  9. [ES6] Generator 函数
  10. python爬虫获取拉钩网在线搜索招聘信息(超实用!)