springboot mail 发送邮件
新开发了一个新的功能,要求使用java发送邮件,在此记录下代码,以方便后来者:
1、首先需要开通邮箱,开通smtp功能,我这边使用的是新浪邮箱,试过163、qq,比较麻烦,后来看到别人使用新浪,直接使用了新浪邮箱。(具体开通方式不在些细述)
2、在pom.xml中添加如此依赖
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
</dependency>3、在application.yml处添加如下配置
mail:
  host: smtp.sina.com
  port: 25
  username:xx@sina.com   #此处为邮箱帐号
  password: xxx          #此处为smtp授权码,一般会和密码相同
  properties:
    mail:
    smtp:
    auth: true
    timeout: 250004、添加配置类
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class EmailConfig {
    /**
     * 发件邮箱
     */
    @Value("${spring.mail.username}")  
    private String emailFrom;
    public String getEmailFrom() {
        return emailFrom;
    }
    public void setEmailFrom(String emailFrom) {
        this.emailFrom = emailFrom;
    }
}
5、以下是发送方法
@Autowired
private EmailConfig emailConfig;     //注入配置文件
public boolean sendAttachmentsMail(String[] to, String[] copyTo, String subject, String content, String filePath) {
    boolean flag = false;
    MimeMessage message = mailSender.createMimeMessage();
    try {
        MimeMessageHelper helper = new MimeMessageHelper(message, true);
        helper.setFrom(emailConfig.getEmailFrom());
        helper.setTo(to);                     //to为收件人,此处为数组,可支持发送给多人
        helper.setCc(copyTo);                 //copyTo为抄送人,此处为数组,可支持发送给多人
        helper.setSubject(subject);           //subject为主题
        helper.setText(content, true);        //content为内容 
        if (null != filePath) {
            FileSystemResource file = new FileSystemResource(new File(filePath));
            helper.addAttachment(filePath, file);     //此处为附件,可添加附件发送
        }
        message.setSentDate(new Date());              //发送时间 
        mailSender.send(message);                     //发送
        flag = true;
    } catch (MessagingException e) {
        e.printStackTrace();
    }
    return flag;
}  
springboot mail 发送邮件的更多相关文章
- SpringBoot整合Mail发送邮件&发送模板邮件
		整合mail发送邮件,其实就是通过代码来操作发送邮件的步骤,编辑收件人.邮件内容.邮件附件等等.通过邮件可以拓展出短信验证码.消息通知等业务. 一.pom文件引入依赖 <dependency&g ... 
- java springboot+maven发送邮件
		springboot+maven发送邮件 废话不多说直接上代码 1. pom 文件导入jar包 <!--邮件发送--> <dependency> <groupId> ... 
- 使用 SpringBoot 配置发送邮件功能
		1.使用 SpringBoot 配置发送邮件功能 项目总体结构 用户表设计 SET FOREIGN_KEY_CHECKS=0; CREATE DATABASE sample; USE sample; ... 
- java mail(发送邮件--163邮箱)
		package com.util.mail; /** * 发送邮件需要使用的基本信息 */ import java.util.Properties; public class MailSenderIn ... 
- Spring Boot 揭秘与实战(七) 实用技术篇 - Java Mail 发送邮件
		文章目录 1. Spring Boot 集成 Java Mail 2. 单元测试 3. 源代码 Spring 对 Java Mail 有很好的支持.因此,Spring Boot 也提供了自动配置的支持 ... 
- 利用System.Net.Mail 发送邮件
		我这里只是试了一下发mail的功能,感觉.net自带的发mail是比较全的,还是直接上我的code 参数文章:System.Net.Mail 发送邮件 SMTP协议 using System; usi ... 
- Android Java Mail与Apache Mail发送邮件对比
		原文链接: 一.邮件简介 一封邮件由很多信息构成,主要的信息如下,其他的暂时不考虑,例如抄送等: 1.收件人:收件人的邮箱地址,例如xxx@xx.com 2.收件人姓名:大部分的邮件显示时都会显 ... 
- linux下使用自带mail发送邮件
		linux下使用自带mail发送邮件 mailx工具说明: linux可以通过安装mailx工具,mailx是一个小型的邮件发送程序,一般可以通过该程序在linux系统上,进行监控linux系统状态并 ... 
- .net System.Web.Mail发送邮件 (设置发件人  只显示用户名)
		http://blog.163.com/hao_2468/blog/static/130881568201141251642215/ .net System.Web.Mail发送邮件 2011-05- ... 
随机推荐
- vue 在微信中设置动态标题
			1.安装插件 cnpm install vue-wechat-title --save 2.在main.js中引入 import VueWechatTitle from 'vue-wechat-tit ... 
- CSS3-2d3d
			1.过渡(transition)操作谁,给谁加过渡 transition:要过渡的属性 花费时间 运动曲线 何时开始: 多组属性变化,还是用 逗号 隔开 transition ... 
- Android基础——框架模式MVC在安卓中的实践
			本篇文章包含以下内容: MVC的介绍 MVC的实践 MVC的介绍 MVC (Model View Controller),是模型(model)视图(view)控制器(controller)的缩写,一种 ... 
- md详解和rd详解:一次性创建多个目录和多级子目录
			md 命令: 官方解释: E:\ABC>md /? 创建目录. MKDIR [drive:]path MD [drive:]path 如果命令扩展被启用,MKDIR 会如下改变: 如果需要,MK ... 
- python 2 学习历程(一)
			在用户输入字符串的时候,有时会带有一些其他的字符,例如常见的空格 除非在网页或者某个位置声明了空格也算字符,或者一些账号等安全程度较高的环节,多了一个空格很少有人会注意到,并且愿意即时改正它们,那么这 ... 
- QueryList getData()方法中多次调用来实现递归多级采集。
			<?php require 'QueryList/vendor/autoload.php'; use QL\QueryList; //获取每个li里面的h3标签内容,和class为item的元素 ... 
- CF696B Puzzles(期望dp)
			传送门 解题思路 比较有意思的一道题.首先假如这个点\(x\)只有\(1\)个儿子\(u\),那么显然可得\(dp[u]=dp[x]+1\).继续如果多加一个儿子\(p\),那么\(p\)在\(u\) ... 
- flutter 超出俩行点点点
			Text( '${listItem["title"]}', overflow: TextOverflow.ellipsis, maxLines: 2, style: TextSty ... 
- mysql最新版与mysql5.6的兼容问题
			最近公司在给别的企业打了一个项目,在公司本地使用的是mysql 5.6,但是搭建的项目的mysql版本是最新版5.7以后吧,所以有些sql在执行上出了一点问题 目前发现的是: 1: 在5.6版本下先o ... 
- Spring-Security (学习记录七)--实现FilterInvocationSecurityMetadataSource的类将无法切入声明式事物
			目录 1 查看继承关系 2 说明 3 查看源码: 实现了FilterInvocationSecurityMetadataSource 的类将无法切入声明式事物. 原因: 1 查看继承关系 先查看Fil ... 
