站点图标 起风网

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

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

准备工作

步骤

<dependency>      <groupId>org.springframework.boot</groupId>     <artifactId>spring-boot-starter-mail</artifactId> </dependency>
spring.mail.host=smtp.163.comspring.mail.username=你的163邮箱spring.mail.password=注意这里不是邮箱密码,而是SMTP授权密码spring.mail.port=25spring.mail.protocol=smtpspring.mail.default-encoding=UTF-8

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

开启smtp权限.png

获取smtp授权密码.png

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

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;/** 小石头* 2501902696@qq.com* */@RunWith(SpringRunner.class)@SpringBootTestpublic class SpringbootJmsApplicationTests {    @Test    public void contextLoads() {    }    @Autowired    private JavaMailSenderImpl mailSender;    /**     * 发送包含简单文本的邮件     */    @Test    public void sendTxtMail() {        SimpleMailMessage simpleMailMessage = new SimpleMailMessage();        // 设置收件人,寄件人        simpleMailMessage.setTo(new String[]{"2501902696@qq.com", "1587072557@qq.com"});        simpleMailMessage.setFrom("15611823564@163.com");        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("2501902696@qq.com");        mimeMessageHelper.setFrom("15611823564@163.com");        mimeMessageHelper.setSubject("Spring Boot Mail 邮件测试【HTML】");        StringBuilder sb = new StringBuilder();        sb.append("<html><head></head>");        sb.append("<body><h1>spring 邮件测试</h1><p>hello!this is spring mail test。</p></body>");        sb.append("</html>");        // 启用html        mimeMessageHelper.setText(sb.toString(), true);        // 发送邮件        mailSender.send(mimeMessage);        System.out.println("邮件已发送");    }}

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

接收到测试发送的邮件.jpg

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

文章转载于:https://www.jianshu.com/p/2d90e98fa0f5

原著是一个有趣的人,若有侵权,请通知删除

退出移动版