springboot整合邮件发送

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

一:添加依赖

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

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

#发送邮件的配置#使用qq邮箱发送
spring.mail.host=smtp.qq.com#配置发送者的qq邮箱,也就是:谁来发送
[email protected]
#开启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("[email protected]"); //发送方
        simpleMailMessage.setTo("[email protected]");//接收方,这里用同一个邮箱方便于测试
        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("[email protected]"); //发送方
        simpleMailMessage.setTo("[email protected]");//接收方,这里用同一个邮箱方便于测试
        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("[email protected]");
            helper.setTo("[email protected]");
            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发送邮件到此告一段落,如有不足之处请指出

原文地址:https://www.cnblogs.com/1998xujinren/p/12330722.html

时间: 2024-08-30 05:33:05

springboot整合邮件发送的相关文章

SpringBoot整合邮件发送(thymeleaf和freemarker)

一.创建并导入依赖 ? ? <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artif

springboot整合邮件发送(163邮箱发送为例)

//先登录163邮箱获取授权 勾选后安装提示会叫你设置授权密码之类的:记住授权的密码 1.引入maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> application.yml里配置: spring: mail: host: smt

Springboot】Springboot整合邮件服务(HTML/附件/模板-QQ、网易)

介绍 邮件服务是常用的服务之一,作用很多,对外可以给用户发送活动.营销广告等:对内可以发送系统监控报告与告警. 本文将介绍Springboot如何整合邮件服务,并给出不同邮件服务商的整合配置. 如图所示: Springboot整合邮件服务 开发过程 Springboot搭建 Springboot的搭建非常简单,我们使用 Spring Initializr来构建,十分方便,选择需要用到的模块,就能快速完成项目的搭建: Spring Initializr 引入依赖 为了使用邮件服务,我们需要引入相关

解决Springboot整合ActiveMQ发送和接收topic消息的问题

环境搭建 1.创建maven项目(jar) 2.pom.xml添加依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.4.0.RELEASE</version> </parent> <dependencies> &l

springboot整合邮件

一.邮件相关知识补充 SMTP(Simple Mail Transfer Protocol) 即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式.SMTP协议属于TCP/IP协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地.通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了,整个过程只要几分钟.SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转发出的电子邮件. 在传输邮件过程中使用标准服务端口:25号端口

SpringBoot实现邮件发送

首先创建一个邮箱账号,建议@126.com,@163.com,@qq.com 都可以 开启smtp,以下是使用图解: 创建SpringBoot项目导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- 支持发送邮件 -->

SpringBoot整合RabbitMQ之发送接收消息实战

实战前言 前几篇文章中,我们介绍了SpringBoot整合RabbitMQ的配置以及实战了Spring的事件驱动模型,这两篇文章对于我们后续实战RabbitMQ其他知识要点将起到奠基的作用的.特别是Spring的事件驱动模型,当我们全篇实战完毕RabbitMQ并大概了解一下RabbitMQ相关组件的源码时,会发现其中的ApplicationEvent.ApplicationListener.ApplicationEventPublisher跟RabbitMQ的Message.Listener.R

IntelliJ IDEA 2017版 spring-boot 2.0.5 邮件发送简单实例 (三)

一.搭建SpringBoot项目 详见此文:https://www.cnblogs.com/liuyangfirst/p/8298588.html 注意: 需要添加mail依赖的包,同时还添加了lombock,方便日志打印.如图所示 二.启动Application,测试项目搭建是否成功 三.配置properties文档 1 #########邮箱协议 2 spring.mail.host=smtp.163.com ####还可以是smtp.126.com 等 3 ##########发送邮件的用

IntelliJ IDEA 2017版 spring-boot 2.0.3 邮件发送搭建,概念梳理 (一)

邮件发送功能总结        第一部分 背景 一.使用场景 (1)注册验证 注册各大网站,通常需要输入邮件地址,在注册成功后,会发送一封邮箱验证的邮件,点击确认,证明这个邮箱是用户自己的 (2)网站营销 公司运营做活动的时候,提前几天给用户发邮件,提醒老用户在活动时间参加活动. (3)安全的最后一道防线 一个网站好久不用的时候,会忘记密码,这个时候需要找回密码,很多种找回方式,最常用的找回方式就是通过邮箱找回密码. 首先,在网站输入邮箱,系统会根据注册的邮箱发送一封邮件,根据邮件中的地址,可以