SpringBoot实现邮件发送(教程详细,上代码!!!)

邮件发送在生活中处处可见,我们最常见的就是用来发送验证码,接下来将为大家直接讲解,初学者也能快速入手!!

一、导入依赖

		
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
            <version>2.3.0.RELEASEversion>
        dependency>
		
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-mailartifactId>
            <version>2.3.0.RELEASEversion>
        dependency>
        
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-testartifactId>
            <version>2.3.0.RELEASEversion>
        dependency>

二、修改配置文件

server:
  port: 8080
spring:
  #邮件发送
  mail:
    host: smtp.qq.com  #邮件类型
    username: [email protected]  #邮箱号
    password: tretrkeenxgjyizc  #自己邮箱的动态密码
    default-encoding: utf-8
    javaMailProperties: #相关配置
      mail:
        smtp:
          auth: true
          timeout: 20000
          ssl:
            enable: true

三、工具类

这里我自己做了一个简单的工具类。

import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;

public class MailSendUtils {
    /**
     *
     * @param html :是否支持HTML
     * @param text :发送内容
     * @param emailTo : 邮件接收者
     * @throws //MessagingException
     */
    public static void SendMail(Boolean html,String text,String emailTo,JavaMailSenderImpl mailSender) throws MessagingException {

        //创建一个复杂的邮件
        MimeMessage mimeMessage = mailSender.createMimeMessage();

        //组装
        MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage,html);
        mimeMessageHelper.setSubject("邮箱验证");//主题
        mimeMessageHelper.setText(text,html);//内容
        mimeMessageHelper.setFrom("[email protected]");//邮件发送者
        mimeMessageHelper.setTo(emailTo);//邮件接收者
        //添加附件
        //mimeMessageHelper.addAttachment("1.jpeg", new File("C:\\Users\\Administrator\\springboot-task\\asynchronous-task\\src\\main\\resources\\static\\image\\1.jpeg"));
        mailSender.send(mimeMessage);
    }
}

四、测试

代码如下:

//邮件发送接口
    @Resource
    private JavaMailSenderImpl javaMailSender;
    
    @Test
    public void test() throws MessagingException {
        Random random=new Random();
        int number=random.nextInt(9999-1000+1)+1000; //随机生成一个四位数验证码
        MailSendUtils.SendMail(true,String.valueOf(number),"[email protected]",javaMailSender); //发送,必须联网才能发送成功。
    }

示例测试结果如下:
SpringBoot实现邮件发送(教程详细,上代码!!!)_第1张图片
以上就是全部内容,希望能够帮助到各位小伙伴!

你可能感兴趣的:(Java,spring,boot,java,后端)