美文网首页java学习springbootJava 杂谈
springboot发送邮件,java结合jms发邮件

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

作者: 编程小石头666 | 来源:发表于2017-12-18 17:42 被阅读30次

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

    准备工作

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

    步骤

    • 1,用idea新建springboot项目,如果不知道怎么用idea新建springboot项目请自行百度
    • 2,建好项目后在pom.xml文件中引入
    <dependency>
          <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-mail</artifactId>
     </dependency>
    
    • 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
    获取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;
    
    /*
    * 小石头
    * 2501902696@qq.com
    * */
    @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[]{"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做邮件发送是不是特别简单。

    相关文章

      网友评论

        本文标题:springboot发送邮件,java结合jms发邮件

        本文链接:https://www.haomeiwen.com/subject/fevmwxtx.html