springboot 集成邮件服务

一、添加依赖

    pom.xml

<!-- 集成邮件发送功能 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

二、添加配置

    

spring:  
  mail:
    host: smtp.126.com
    port: 25
    username: 邮箱帐号 
    password: 密码
    protocol: smtp
    defaultEncoding: UTF-8
    properties:
      mail:
        smtp:
          auth: true
        starttls:
          enable: true
          required: true

    注:有些邮箱配置的密码是授权码,不是登录邮箱的密码。请参照邮箱中设置的具体说明配置

三、添加发送邮件模块

MailComponent.java

package com.example.springboot.component;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;

import javax.mail.internet.MimeMessage;

@Component
public class MailComponent {
    @Autowired
    JavaMailSender mailSender;

    private final Logger logger = LoggerFactory.getLogger(this.getClass());

    @Async
    public void sendEmail(String from, String to, String subject, String content) {
        try {
            final MimeMessage mimeMessage = this.mailSender.createMimeMessage();
            final MimeMessageHelper message = new MimeMessageHelper(mimeMessage);
            message.setFrom(from);
            message.setTo(to);
            message.setSubject(subject);
            message.setText(content);
            this.mailSender.send(mimeMessage);
            logger.info("send email success");
        } catch (Exception ex) {
            logger.error(ex.getMessage());
        }
    }
}

四、编写发送邮件的controller方法

扫描二维码关注公众号,回复: 183433 查看本文章
@GetMapping("/send")
public ReturnMsg sendEmail() {
    String from = "123";
    String to = "[email protected]";
    String subject = "测试邮件";
    String content = "测试内容";
    mailComponent.sendEmail(from, to, subject, content);
    return new ReturnMsg();
}

访问地址:http://127.0.0.1:8000/send 即可查看到发送的邮件


猜你喜欢

转载自blog.csdn.net/leilecoffee/article/details/80235354
今日推荐