当前位置: 移动技术网 > IT编程>开发语言>Java > 使用spring mail发送html邮件的示例代码

使用spring mail发送html邮件的示例代码

2019年07月19日  | 移动技术网IT编程  | 我要评论
序 本文展示一下如何使用spring mail来发送html邮件。 maven <!-- email --> <d


本文展示一下如何使用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>
                <img src='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);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网