springboot发送邮件,java结合jms发邮件

近期学习java后台开发,学到了springboot发送邮件。感觉这也算是一个很实用的知识点,就在这里总结下,方便以后用。也方便大家学习。

准备工作

  • 1,有一点java基础和springboot基础
  • 2,有163邮箱

步骤

  • 1,用idea新建springboot项目,如果不知道怎么用idea新建springboot项目请自行百度
  • 2,建好项目后在pom.xml文件中引入

      org.springframework.boot
     spring-boot-starter-mail
 
  • 3,在配置文件application.properties中添加如下配置
spring.mail.host=smtp.163.com
spring.mail.username=你的163邮箱
spring.mail.password=注意这里不是邮箱密码,而是SMTP授权密码
spring.mail.port=25
spring.mail.protocol=smtp
spring.mail.default-encoding=UTF-8

上面提到的smtp的授权密码的获取下面给出图解


开启smtp权限.png

springboot发送邮件,java结合jms发邮件_第1张图片
获取smtp授权密码.png

注意:你这里设置的授权密码就是商品配置信息中要输入的密码

  • 4,下面上代码
package com.qcl;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.test.context.junit4.SpringRunner;

import javax.mail.internet.MimeMessage;

/*
* 小石头
* [email protected]
* */
@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringbootJmsApplicationTests {

    @Test
    public void contextLoads() {
    }


    @Autowired
    private JavaMailSenderImpl mailSender;

    /**
     * 发送包含简单文本的邮件
     */
    @Test
    public void sendTxtMail() {
        SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
        // 设置收件人,寄件人
        simpleMailMessage.setTo(new String[]{"[email protected]", "[email protected]"});
        simpleMailMessage.setFrom("[email protected]");
        simpleMailMessage.setSubject("Spring Boot Mail 邮件测试【文本】");
        simpleMailMessage.setText("这里是一段简单文本。");
        // 发送邮件
        mailSender.send(simpleMailMessage);

        System.out.println("邮件已发送");
    }

    /**
     * 发送包含HTML文本的邮件
     *
     * @throws Exception
     */
    @Test
    public void sendHtmlMail() throws Exception {
        MimeMessage mimeMessage = mailSender.createMimeMessage();
        MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage);
        mimeMessageHelper.setTo("[email protected]");
        mimeMessageHelper.setFrom("[email protected]");
        mimeMessageHelper.setSubject("Spring Boot Mail 邮件测试【HTML】");

        StringBuilder sb = new StringBuilder();
        sb.append("");
        sb.append("

spring 邮件测试

hello!this is spring mail test。

"); sb.append(""); // 启用html mimeMessageHelper.setText(sb.toString(), true); // 发送邮件 mailSender.send(mimeMessage); System.out.println("邮件已发送"); } }

我这里是用单元测试直接跑的。下面看下接收到的效果


springboot发送邮件,java结合jms发邮件_第2张图片
接收到测试发送的邮件.jpg

到此,我们就轻松的实现了批量发送邮件的代码了。用springboot做邮件发送是不是特别简单。

你可能感兴趣的:(springboot发送邮件,java结合jms发邮件)