暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

SpringBoot发送邮件(二)

open资料酷 2019-09-02
143

接着上一篇写,为了帮助更多初学者。上一篇,谈到扩展,发送更多类型丰富的邮件内容,这里举例:例如Html邮件 、附件邮件等。直接上代码,简单直接粗暴...


    public interface EmailService {


    /**
    * 发送普文本通邮件
    * @param toMaillAddrsss 目标邮箱地址
    * @param subject 邮件主题
    * @param content 邮件内容
    */
    boolean sendEmail(String toMaillAddrsss,String subject,String content);


    /**
    * 发送HTML邮件
    * @param toMaillAddrsss 目标邮箱地址
    * @param subject 邮件主题
    * @param content 邮件内容
    */
    boolean sendHtmlMail(String toMaillAddrsss, String subject, String content);


    /**
    * 发送有附件的邮件
    * @param toMaillAddrsss 目标邮箱地址
    * @param subject 邮件主题
    * @param content 邮件内容
    * @param filePath
    */
    boolean sendAttachmentsMail(String toMaillAddrsss, String subject, String content, String filePath);
    }


      @Service
      public class EmailServiceImpl implements EmailService {


      private static final EntropyLogger logger = EntropyLoggerFactory.getLogger(EmailServiceImpl.class);
      @Resource private JavaMailSender javaMailSender;


      @Value("${mail.fromMail.addr}")
      private String FROM_MAIL_ADDRESS;


      @Override
      public boolean sendEmail(String toMaillAddrsss, String subject, String content) {
      return send(toMaillAddrsss,subject,content);
      }


      @Override
      public boolean sendHtmlMail(String toMaillAddrsss, String subject, String content) {
      return sendHtml(toMaillAddrsss,subject,content);
      }


      @Override
      public boolean sendAttachmentsMail(String toMaillAddrsss, String subject, String content, String filePath) {
      return sendAttachments(toMaillAddrsss,subject,content,filePath);
      }


      /**
      * 发送普通邮件
      * @param toMaillAddrsss
      * @param subject
      * @param content
      * @return
      */
      private boolean send(String toMaillAddrsss, String subject, String content){
      SimpleMailMessage mailMessage = new SimpleMailMessage();
      mailMessage.setFrom(FROM_MAIL_ADDRESS);
      mailMessage.setTo(toMaillAddrsss);
      mailMessage.setSubject(subject);
      mailMessage.setText(content);
      try {
      javaMailSender.send(mailMessage);
      return true;
      }catch (Exception e){
      logger.error("发送邮件异常",e);
      }
      return false;
      }


      /**
      * 发送html邮件
      * @param toMaillAddrsss
      * @param subject
      * @param content
      */
      @SuppressWarnings("Duplicates")
      private boolean sendHtml(String toMaillAddrsss, String subject, String content){
      MimeMessage message = javaMailSender.createMimeMessage();
      try {
      MimeMessageHelper helper = new MimeMessageHelper(message, true);
      helper.setFrom(FROM_MAIL_ADDRESS);
      helper.setTo(toMaillAddrsss);
      helper.setSubject(subject);
      helper.setText(content, true);
      javaMailSender.send(message);
      logger.info("发送html邮件成功");
      return true;
      } catch (MessagingException e) {
      logger.error("发送html邮件异常", e);
      }
      return false;
      }


      /**
      * 发送附件邮件
      * @param toMaillAddrsss
      * @param subject
      * @param content
      * @param filePath
      */
      @SuppressWarnings("Duplicates")
      private boolean sendAttachments(String toMaillAddrsss, String subject, String content, String filePath){
      MimeMessage message = javaMailSender.createMimeMessage();
      try {
      MimeMessageHelper helper = new MimeMessageHelper(message, true);
      helper.setFrom(FROM_MAIL_ADDRESS);
      helper.setTo(toMaillAddrsss);
      helper.setSubject(subject);
      helper.setText(content, true);


      FileSystemResource file = new FileSystemResource(new File(filePath));
      String fileName = filePath.substring(filePath.lastIndexOf(File.separator));
      helper.addAttachment(fileName, file);


      javaMailSender.send(message);
      logger.info("发送附件邮件成功");
      return true;
      } catch (MessagingException e) {
      logger.error("发送附件邮件异常", e);
      }
      return false;
      }
      }


      文章转载自open资料酷,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

      评论