springboot integrated mail service

1. Add dependencies

    pom.xml

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

2. Add configuration

    

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    
    

    Note: The password configured for some mailboxes is an authorization code, not the password for logging in to the mailbox. Please refer to the specific instructions set in the mailbox to configure

3. Add send mail module

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());
}                            
    }
}

Fourth, write the controller method for sending mail

@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 即可查看到发送的邮件


Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325901259&siteId=291194637