邮件发送,解决乱码问题

public boolean sendAttachmentMail(String to,
                                      String subject,
                                      String content,
                                      List<String> filePathList,
                                      Boolean isHtml) {
        MimeMessage mimeMessage = qqJavaMailSender.createMimeMessage();
        try {
            MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true, "UTF-8");
            helper.setTo(to);
            helper.setSubject(subject);
            helper.setText(content, isHtml);
            String username = qqJavaMailSender.getUsername();
            helper.setFrom(username);
            if (filePathList.size() > 0) {                        //读取附件文件(传入文件路径)
                for (Object filePath : filePathList) {        //遍历文件数组,实现多个附件的添加
                    FileSystemResource file = new FileSystemResource(filePath.toString());
                    String fileName = file.getFilename();//获取文件名
                    //todo 添加附件对象和附件的文件名,防止乱码
                    helper.addAttachment(
                            MimeUtility.encodeWord(fileName, "utf-8", "B"),
                            file);
//                    helper.addAttachment(fileName, file);//参数:文件名,文件路径
                }
                try {
                    qqJavaMailSender.send(mimeMessage);        //发送邮件
                } catch (Exception e) {
                    return false;                        //发送出现异常(或者文件路径不对)
                }
                return true;                            //成功发送
            } else {
                return false;                            //没有附件文件(中断发送)
            }
        } catch (Exception e) {
            e.printStackTrace();
            //捕获到创建MimeMessageHelper的异常
//			return false;
        }
        log.info("发送成功");
        return true;
    }

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值