新开发了一个新的功能,要求使用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: 25000

4、添加配置类

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 发送邮件的更多相关文章

  1. SpringBoot整合Mail发送邮件&发送模板邮件

    整合mail发送邮件,其实就是通过代码来操作发送邮件的步骤,编辑收件人.邮件内容.邮件附件等等.通过邮件可以拓展出短信验证码.消息通知等业务. 一.pom文件引入依赖 <dependency&g ...

  2. java springboot+maven发送邮件

    springboot+maven发送邮件 废话不多说直接上代码 1. pom 文件导入jar包 <!--邮件发送--> <dependency> <groupId> ...

  3. 使用 SpringBoot 配置发送邮件功能

    1.使用 SpringBoot 配置发送邮件功能 项目总体结构 用户表设计 SET FOREIGN_KEY_CHECKS=0; CREATE DATABASE sample; USE sample; ...

  4. java mail(发送邮件--163邮箱)

    package com.util.mail; /** * 发送邮件需要使用的基本信息 */ import java.util.Properties; public class MailSenderIn ...

  5. Spring Boot 揭秘与实战(七) 实用技术篇 - Java Mail 发送邮件

    文章目录 1. Spring Boot 集成 Java Mail 2. 单元测试 3. 源代码 Spring 对 Java Mail 有很好的支持.因此,Spring Boot 也提供了自动配置的支持 ...

  6. 利用System.Net.Mail 发送邮件

    我这里只是试了一下发mail的功能,感觉.net自带的发mail是比较全的,还是直接上我的code 参数文章:System.Net.Mail 发送邮件 SMTP协议 using System; usi ...

  7. Android Java Mail与Apache Mail发送邮件对比

    原文链接: 一.邮件简介  一封邮件由很多信息构成,主要的信息如下,其他的暂时不考虑,例如抄送等:  1.收件人:收件人的邮箱地址,例如xxx@xx.com  2.收件人姓名:大部分的邮件显示时都会显 ...

  8. linux下使用自带mail发送邮件

    linux下使用自带mail发送邮件 mailx工具说明: linux可以通过安装mailx工具,mailx是一个小型的邮件发送程序,一般可以通过该程序在linux系统上,进行监控linux系统状态并 ...

  9. .net System.Web.Mail发送邮件 (设置发件人 只显示用户名)

    http://blog.163.com/hao_2468/blog/static/130881568201141251642215/ .net System.Web.Mail发送邮件 2011-05- ...

随机推荐

  1. usb-host与外设通信(三)

    4.与设备之间的通信 和USB设备通信可以是同步的或者是异步的,无论是哪一种情况,你都应该创建一个新的线程来处理数据传输,这样才不会使UI线程出现阻塞.与设备建立适宜的通信,你需要获得该设备一个合适的 ...

  2. Vue番外篇-路由进阶(一)

    Vue的router默认是 export default new Router({ mode: 'history', routes: [ { path: '/', name: 'HelloWorld' ...

  3. vim - Vi IMproved, 一个程序员的文本编辑器

    总览 (SYNOPSIS) vim [options] [file ..] vim [options] - vim [options] -t tag vim [options] -q [errorfi ...

  4. uuencode - 对二进制文件编码

    总览 (SYNOPSIS) uuencode [-m] [ file ] name uudecode [-o outfile] [ file ]... 描述 (DESCRIPTION) Uuencod ...

  5. 笔记-Linux安装中文版man

    使用环境为Ubuntu,安装中文版man,同时保留了英文原版,步骤如下: 第一种方法 sudo apt-get update # 更新你的下载源目录,此步骤可省略. sudo apt-get inst ...

  6. vue cli3 vue.config配置

    跳地址:https://cli.vuejs.org/zh/config/#publicpath

  7. ES6形参默认值

    * 形参的默认值----当不传入参数的时候默认使用形参里的默认值 function Point(x = ,y = ) { this.x = x; this.y = y; } //定义一个点的坐标 fu ...

  8. 过滤器 一 Filter

    import javax.servlet.Filter; 前言 过滤器是一个程序,依赖与servlet容器,它先于与之相关的servlet或JSP页面运行在服务器上.过滤器可附加到一个或多个servl ...

  9. spring mvc hibernate spring 整合的增删改查+后台校验+bootstrap

    整合之前先知道大概的思路,首先要知道每个框架的重点要点. 1.首先我们从数据库开始 --创建数据库 create database gs --创建表 create table food ( id ,) ...

  10. 【历年真题】斐波那契数列logn做法

    描述 [题解] 用矩阵乘法加速递推 [0 1] [1 1] [f[n-1]] [f[n-2]] = [f[n-1]] [f[n]] 求A矩阵的n-2次幂然后再乘B矩阵. 结果矩阵中的第二行第一列就是f ...