使用spring mail发送html邮件

本文展示一下如何使用spring mail来发送html邮件。

maven

        <!-- email -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>

发送图片

public void send(String from, String[] toMails, String subject, String text,
                     Map<String,Object> inlines) throws Exception{
        MimeMessage mimeMessage = mailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
        helper.setFrom(from);
        helper.setTo(toMails);
        helper.setSubject(subject);
        helper.setText(text, true); //支持html

        // 增加inline
        if(inlines != null){
            for(Map.Entry<String,Object> entry: inlines.entrySet()){
                if(entry.getValue() instanceof ClassPathResource){
                    helper.addInline(entry.getKey(), (Resource) entry.getValue());
                }

            }
        }

        mailSender.send(mimeMessage);
    }

测试

  • 发送实例 ClassPathResource classPathResource = new ClassPathResource("image_2.png"); Map<String,Object> att = new HashMap<>(); att.put("image",classPathResource); String content = "<html> <body> <h4>spring mail发送实例</h4> ![](cid:image)<br> </body> </html>"; try{ mailService.send(new String[]{"xxxxx@163.com"},"spring mail发送实例",content,att); }catch (Exception e){ e.printStackTrace(); }
  • 异常 org.springframework.mail.MailSendException: Failed messages: com.sun.mail.smtp.SMTPSendFailedException: 554 DT:SPM 126 smtp7,DsmowAB3U6X1_LdZjIz+Aw--.26008S3 1505230070,please see http://mail.163.com/help/help_spam_16.htm?ip=123.65.107.103&hostid=smtp7&time=1505230070 ; message exception details (1) are: Failed message 1: com.sun.mail.smtp.SMTPSendFailedException: 554 DT:SPM 126 smtp7,DsmowAB3U6X1_LdZjIz+Aw--.26008S3 1505230070,please see http://mail.163.com/help/help_spam_16.htm?ip=123.65.107.103&hostid=smtp7&time=1505230070 at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:2267) at com.sun.mail.smtp.SMTPTransport.finishData(SMTPTransport.java:2045) at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1260) at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:448) at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:345) at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:340) 错误码554 554 DT:SPM 发送的邮件内容包含了未被许可的信息,或被系统识别为垃圾邮件。请检查是否有用户发送病毒或者垃圾邮件; 被网易邮箱识别为垃圾邮件了,有个歪招,就是把发送邮箱添加到cc里头 helper.setCc(from);

doc

  • springboot发送邮件的实现例子
  • 企业退信的常见问题?

原文发布于微信公众号 - 码匠的流水账(geek_luandun)

原文发表时间:2017-09-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏牛客网

58到家java开发面经2018.5.18

1640
来自专栏生信技能树

(13)Hg19基因组的一些分析-生信菜鸟团博客2周年精选文章集

搞生信研究的,大部分数据都是针对于人类的,那么人类的参考基因组就不得不知了! 与hg19的突变相关的一些数据解释。 Hg19基因组的分析 R的bioconduc...

4656
来自专栏恰童鞋骚年

设计模式的征途—12.享元(Flyweight)模式

现在在大力推行节约型社会,“浪费可耻,节俭光荣”。在软件系统中,有时候也会存在资源浪费的情况,例如,在计算机内存中存储了多个完全相同或者非常相似的对象,如果这些...

1083
来自专栏编程一生

lucene原理及源码解析--核心类

1552
来自专栏后端技术探索

php进阶

基本数据类型和数组都为真复制,即为真副本,当属性为对象时,为假复制,改变副本仍会影响原对象.解决方案:

1551
来自专栏WindCoder

Java设计模式学习笔记—建造者模式

文章最后“Java设计模式笔记示例代码整合”为本系列代码整合,所有代码均为个人手打并运行测试,不定期更新。本节内容位于其Builder包(package)中。

862
来自专栏数据小魔方

教你如何优雅的用R语言调用有道翻译

最近刚发现了个有趣的包,一个R语言发烧友开发了R语言与有道在线翻译的接口,可能这位大神也是一个受够了每天打开网页狂敲键盘查词的罪,索性自己动手,从此丰衣足食。 ...

2353
来自专栏java架构学习交流

快速高效掌握企业级项目中的Spring面向切面编程应用,外带讲面试技巧

    Spring面向切面编程(AOP)是企业级应用的基石,可以这样说,如果大家要升级到高级程序员,这部分的知识必不可少。     这里我们将结合一些具体的案...

1989
来自专栏听雨堂

数据库范式

关系数据库设计之时是要遵守一定的规则的。尤其是数据库设计范式 现简单介绍1NF(第一范式),2NF(第二范式),3NF(第三范式)和BCNF,另有第四范式和第五...

1976
来自专栏程序猿DD

程序员你为什么这么累【续】:编码习惯之Controller规范

由于昨天小编没有睡好,犯了两个错误(作者写错+第二张图贴错),重新发布纠正一下。非常抱歉,感谢大家的关注...... ——请先阅读这2篇文章: 程序员你为什么这...

3187

扫码关注云+社区

领取腾讯云代金券