SpringBoot ~ 邮件发送

简介: SpringBoot邮件发送添加pom依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId></dependency>application.

SpringBoot邮件发送

  1. 添加pom依赖

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-mail</artifactId>
    </dependency>
  2. application.properties配置

    spring.mail.host=smtp.qq.com
    spring.mail.port=465
    spring.mail.username=wsyjlly@qq.com
    spring.mail.password=khhvydlbhiqjcjaj
    spring.mail.default-encoding=UTF-8
    spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
    spring.mail.properties.mail.debug=true
  3. 编写邮件发送服务

    /**
     * @author wsyjlly
     * @create 2019.07.16 - 17:32
     **/
    @Component
    public class MailService {
        @Autowired
        JavaMailSender javaMailSender;
        
        //简单邮件发送
        public void sendSimpleSender(String from,String to,String cc,String subject,String content){
            SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
            simpleMailMessage.setFrom(from);
            simpleMailMessage.setTo(to);
            simpleMailMessage.setCc(cc);
            simpleMailMessage.setSubject(subject);
            simpleMailMessage.setText(content);
            javaMailSender.send(simpleMailMessage);
        }
        
        //带附件的邮件发送
        public void sendAttachFileMail(String from, String to, String subject, String content, File file) throws MessagingException {
            MimeMessage mimeMessage = javaMailSender.createMimeMessage();
            MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
            helper.setFrom(from);
            helper.setTo(to);
            helper.setSubject(subject);
            helper.setText(content);
            helper.addAttachment(file.getName(),file);
            javaMailSender.send(mimeMessage);
    
        }
        
        public void sendMailWithImg(String from, String to, String subject, String content, String[] srcPath,String[] resIDs) throws MessagingException {
            if (srcPath.length != resIDs.length){
                System.out.println("发送失败!");
                return;
            }
            MimeMessage mimeMessage = javaMailSender.createMimeMessage();
            MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
            helper.setFrom(from);
            helper.setTo(to);
            helper.setSubject(subject);
            helper.setText(content,true);
            for (int i = 0; i < srcPath.length; i++) {
                FileSystemResource resource = new FileSystemResource(new File(srcPath[i]));
                helper.addInline(resIDs[i],resource);
            }
            javaMailSender.send(mimeMessage);
        }
    }
  4. 发送邮件

    /**
     * @author wsyjlly
     * @create 2019.06.10 - 19:00
     **/
    @RestController
    public class ControllerDemo1 {
        @Autowired
        MailService mailService;
    
        @RequestMapping("/mail1")
        public void mail1(){
            mailService.sendSimpleSender("wsyjlly@qq.com",
            "895864393@qq.com",
            "211874876@qq.com",
            "你爱我吗",
            "你这个坏孩子!");
        }
        
        @RequestMapping("/mail2")
        public void mail2() throws MessagingException {
            mailService.sendAttachFileMail("wsyjlly@qq.com","wsyjlly@qq.com","你信命吗?","你这个坏孩子!",new File("./uploadFiles/abc.gif"));
        }
        
        @RequestMapping("/mail3")
        public void mail3() throws MessagingException {
            mailService.sendMailWithImg("wsyjlly@qq.com","wsyjlly@qq.com","你信神吗?","<div>hello,坏孩子!"
                    +"<div><img src='cid:p01'/></div>"
                    +"<div><img src='cid:p02'/></div>"
                    +"</div>",
                    new String[]{"./mail/aaa.jpg","./mail/abc.gif"},
                    new String[]{"p01","p02"});
        }
    }
  5. 测试链接

  6. 发送成功
目录
相关文章
|
3月前
|
安全 JavaScript Java
你有没有觉得邮件发送人固定配置在yml文件中是不妥当的呢?SpringBoot 动态设置邮件发送人
你有没有觉得邮件发送人固定配置在yml文件中是不妥当的呢?SpringBoot 动态设置邮件发送人
56 0
|
6月前
|
Java
【Java】SpringBoot邮件发送实现
这里我用的是网易免费企业邮箱。参数请不要照抄,改成适合自己的。
91 0
|
10月前
|
Java
SpringBoot整合邮件发送服务
SpringBoot整合邮件发送服务
249 0
SpringBoot邮件发送(QQ邮箱)
SpringBoot邮件发送(QQ邮箱)
Java技术:SpringBoot实现邮件发送功能
邮件发送功能基本是每个完整业务系统要集成的功能之一,今天小编给大家介绍一下SpringBoot实现邮件发送功能,希望对大家能有所帮助!
Java技术:SpringBoot实现邮件发送功能
|
Java Maven 开发者
SpringBoot系列之邮件发送姿势介绍
邮件发送,在实际的项目开发中,可能用的不是特别多,如果没有特定的需求,相信也没有多少小伙伴会特意的去关注,那么如果现在我们希望针对项目做一个异常的报警系统,当出现异常的时候,可以向指定的小伙伴发送邮件提醒,那么让我们来实现这个功能,可以怎么办呢? 这里介绍一下如何使用SpringBoot封装好的MailSender来实现邮件发送
314 1
SpringBoot系列之邮件发送姿势介绍
|
Java Spring
补习系列(12)-springboot 与邮件发送
[TOC] 一、邮件协议 在谈谈代码之前,先来了解下邮件的基本协议。 电子邮件协议是基于TCP层定义的,主要有下面几个: SMTP协议SMTP 是 Simple Mail Transfer Protocol 的简称,即简单邮件传输协议,是发送协议。
5238 0
|
Web App开发 Java Shell
springboot添加邮件发送及压缩功能
springboot添加邮件发送及文件压缩功能 转载请注明出处:https://www.cnblogs.com/funnyzpc/p/9190233.html   先来一段诗 ```   就这样吧   忍受折磨   然后,躺进医院   然后,死去   化作一抔土   从此,这世界没有烦恼   没有病痛   没有我   也没有这个世界 ```   以上是在半睡半醒中想到的,写的不好,读者可直接略过。
1453 0
|
Java 数据安全/隐私保护 数据格式
SpringBoot邮件发送
这篇文章介绍springboot的邮件发送。 由于很简单就没有分出server和imp之类,只是在controller简单写个方法进行测试。 首先pom文件加入spring-boot-starter-mail,代码如下: 4.
1368 0
|
Java Spring 网络安全
springboot实现邮件发送
Spring提供了非常好用的JavaMailSender接口实现邮件发送。在Spring Boot的Starter模块中也为此提供了自动化配置。 首先先引入邮件发送所需要的依赖 版本1.5.1(Jan 30, 2017更新的) org.springframework.boot spring-boot-starter-mail 1.5.1.RELEASE 在application.properties中配置相应的属性内容。
1290 0