zoukankan      html  css  js  c++  java
  • springboot整合邮件发送

    在做项目的过程中,难免会遇到要发送邮件的情况。这里,将springboot与邮件发送整合一下:

    一:添加依赖

    <dependency>
           <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
    </
    dependency>

    二:要在配置文件中添加一下配置:

    #发送邮件的配置
    #使用qq邮箱发送 spring.mail.host=smtp.qq.com
    #配置发送者的qq邮箱,也就是:谁来发送 spring.mail.username=12345678@qq.com #开启POP3之后设置的客户端授权码
    #用于客户端邮箱验证身份 spring.mail.password=############
    #设置编码 spring.mail.default-encoding=UTF-8
    #端口 spring.mail.port=465
    #启用sll安全验证 spring.mail.properties.mail.smtp.ssl.enable=true

    注意:以上配置中的password是要去邮箱那边开启客户端授权生成的码

    这里列出两种发送的邮件的类型,

    一种是简单邮件,只有一些文字的,代码如下:

    package springbootSendMail.controller;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.mail.SimpleMailMessage;
    import org.springframework.mail.javamail.JavaMailSender;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    @Controller
    @ResponseBody
    @RequestMapping("email")
    public class Controllers {
        
        @Autowired
        private JavaMailSender javaMailSender;
        
        /**
         * 发送简单邮件,只是一些文字
         */
        @RequestMapping("simpleEmail")
        public void sendSimpleMail(){
            
            System.out.println("发送邮件中..");
            SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
            simpleMailMessage.setFrom("1417734497@qq.com"); //发送方
            simpleMailMessage.setTo("1417734497@qq.com");//接收方,这里用同一个邮箱方便于测试
            simpleMailMessage.setText("你好"); //发送的内容
            simpleMailMessage.setSubject("主题"); //这个是设置邮件的主题
            javaMailSender.send(simpleMailMessage); // 发送邮件
            
        }
    }

    另一种是邮件中附带文件的,如下:

    package springbootSendMail.controller;
    
    import java.io.File;
    
    import javax.mail.MessagingException;
    import javax.mail.internet.MimeBodyPart;
    import javax.mail.internet.MimeMessage;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.core.io.FileSystemResource;
    import org.springframework.mail.SimpleMailMessage;
    import org.springframework.mail.javamail.JavaMailSender;
    import org.springframework.mail.javamail.MimeMessageHelper;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    @Controller
    @ResponseBody
    @RequestMapping("email")
    public class Controllers {
        
        @Autowired
        private JavaMailSender javaMailSender;
        
        /**
         * 发送简单邮件,只是一些文字
         *//*
        @RequestMapping("simpleEmail")
        public void sendSimpleMail(){
            
            System.out.println("发送邮件中..");
            SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
            simpleMailMessage.setFrom("1417734497@qq.com"); //发送方
            simpleMailMessage.setTo("1417734497@qq.com");//接收方,这里用同一个邮箱方便于测试
            simpleMailMessage.setText("你好"); //发送的内容
            simpleMailMessage.setSubject("主题"); //这个是设置邮件的主题
            javaMailSender.send(simpleMailMessage); // 发送邮件
            
        }*/
        /**
         * 发送带有文件的邮件
         */
        @RequestMapping("fileEmail")
        public void sendFileEmail(){
            
            MimeMessage message = null;
            
            try {
                message = javaMailSender.createMimeMessage();
                MimeMessageHelper helper = new MimeMessageHelper(message,true);
                helper.setFrom("1417734497@qq.com");
                helper.setTo("1417734497@qq.com");
                helper.setSubject("标题:发送html的内容");
                StringBuffer buffer = new StringBuffer();
                buffer.append("<font color = 'red'>大家好</font>");
                buffer.append("<font color = 'black'>,我们是一家人</font>");
                //这个设置cid:image01,要和下面的helper.addInline方法里面的添加要一样
                buffer.append("<img src='cid:image01'/>");
                //第二个参数是确定该内容是否使用html解析
                helper.setText(buffer.toString(), true);
                
                //发送的邮件中含有图片显示
                FileSystemResource imgFile = new FileSystemResource(new File("D:/2.jpeg"));
                 helper.addInline("image01", imgFile);
                
                //添加附件
                FileSystemResource filesystemResource = new FileSystemResource(new File("C:/123.pdf"));
                helper.addAttachment("12345", filesystemResource);
                javaMailSender.send(message);
            } catch (MessagingException e) {
                e.printStackTrace();
            }
            
            
            
        }
    }

    好了,springboot发送邮件到此告一段落,如有不足之处请指出

  • 相关阅读:
    Light oj 1082 Array Queries(区间最小值)
    Codeforces Round #179 (Div. 2)A、B、C、D
    poj 1976 A Mini Locomotive(01背包)
    Codeforces Round #178 (Div. 2)
    hackerrank challenges median
    poj 1961 Period(kmp最短循环节)
    poj 2182 Lost Cows(树状数组)
    ZOJ1117 POJ1521 HDU1053 Huffman编码
    poj 2352 Stars 树状数组
    这可能是最适合萌新入门Web安全的路线规划
  • 原文地址:https://www.cnblogs.com/1998xujinren/p/12330722.html
Copyright © 2011-2022 走看看