Springboot 最简单的发送邮件(文本、附件、图片)实战案例

创建完成后,pom.xml内依赖包如下:

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-mail

org.springframework.boot

spring-boot-starter-test

test

接下来是配置参数,application.properties(发送者请填写自己的邮箱或者开通授权的邮箱,配置密码的值是刚刚获取的授权码):

#SMTP服务器地址

spring.mail.host=smtp.qq.com

#SMTP服务器的端口

spring.mail.port=587

#邮箱用户名(发送者)

spring.mail.username=8XXXXXXXX@qq.com

#配置密码(发送短信获取的授权码)

spring.mail.password=dXXXXXXXyitbdea

#默认的邮件内容编码格式

spring.mail.default-encoding=UTF-8

#SSL 加密工厂

spring.mail.properties.mail.smtp.socketFactoryClass=javax.net.ssl.SSLSocketFactory

#开启debug,会有相关的日志

spring.mail.properties.mail.debug=true

server.port=8011

到这一步,已经基本完毕,接下来就是使用&调试。

创建一个MailController.java:

package com.mail.elegant.controller;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.core.io.FileSystemResource;

import org.springframework.mail.MailException;

import org.springframework.mail.SimpleMailMessage;

import org.springframework.mail.javamail.JavaMailSender;

import org.springframework.mail.javamail.MimeMessageHelper;

import org.springframework.web.bind.annotation.PostMapping;

import org.springframework.web.bind.annotation.RestController;

import javax.mail.MessagingException;

import javax.mail.internet.MimeMessage;

import java.io.File;

import java.util.Date;

/**

  • @Author : JCccc

  • @CreateTime : 2019/8/6

  • @Description :

**/

@RestController

public class MailController {

@Autowired

JavaMailSender javaMailSender;

/**

  • 发送一般的文本邮件

  • @return

*/

@PostMapping(“sendSimpleMailMessage”)

public String sendSimpleMailMessage() {

try {

SimpleMailMessage message = new SimpleMailMessage();

message.setFrom(“86447XXXX@qq.com”); //发送邮件的 邮箱地址

message.setReplyTo(“86447XXXX@qq.com”);//回复发送至 邮箱地址

String[] mail={“330809XXXX@qq.com”,“114737XXXX@qq.com”};

message.setTo(mail);//邮件接收的 邮箱地址

// message.setTo(“114737XXXX@qq.com”); 可以设置多个 多个时采取数组传参

message.setCc(“86447XXXX@qq.com”); //抄送的 邮箱地址 可以设置多个 多个时采取数组传参

message.setSentDate(new Date());//发送邮件的 日期

message.setSubject(“测试邮件的标题”);//发送邮件的标题

message.setText(“你好,我在测试发送邮件。”);//发送邮件的 文本内容

javaMailSender.send(message);

} catch (MailException e) {

e.printStackTrace();

return “send fail”;

}

return “send success”;

}

/**

  • 发送带有附近的邮件

  • @return

*/

@PostMapping(“sendEnclosureMailMessage”)

public String sendEnclosureMailMessage() {

try {

MimeMessage mimeMessage = javaMailSender.createMimeMessage();

MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);

helper.setSubject(“这是一封测试邮件”);

helper.setFrom(“86447XXXX@qq.com”);

helper.setTo(“330809XXXX@qq.com”);

helper.setCc(“86447XXXX@qq.com”);

helper.setBcc(“86447XXXX@qq.com”);

helper.setSentDate(new Date());

helper.setText(“这是测试邮件的正文”);

helper.addAttachment(“风景.jpg”,new File(“E:\elegant\src\main\resources\pic\风景.jpg”));

2021年Java中高级面试必备知识点总结

在这个部分总结了2019年到目前为止Java常见面试问题,取其面试核心编写成这份文档笔记,从中分析面试官的心理,摸清面试官的“套路”,可以说搞定90%以上的Java中高级面试没一点难度。

本节总结的内容涵盖了:消息队列、Redis缓存、分库分表、读写分离、设计高并发系统、分布式系统、高可用系统、SpringCloud微服务架构等一系列互联网主流高级技术的知识点。

目录:

(上述只是一个整体目录大纲,每个点里面都有如下所示的详细内容,从面试问题——分析面试官心理——剖析面试题——完美解答的一个过程)

部分内容:

对于每一个做技术的来说,学习是不能停止的,小编把2019年到目前为止Java的核心知识提炼出来了,无论你现在是处于什么阶段,如你所见,这份文档的内容无论是对于你找面试工作还是提升技术广度深度都是完美的。

不想被后浪淘汰的话,赶紧搞起来吧,高清完整版一共是888页,需要的话可以点赞+关注

-ZefEdQ9u-1714459932342)]

[外链图片转存中…(img-2O37wGi6-1714459932343)]

[外链图片转存中…(img-VlQ6rgjt-1714459932343)]

对于每一个做技术的来说,学习是不能停止的,小编把2019年到目前为止Java的核心知识提炼出来了,无论你现在是处于什么阶段,如你所见,这份文档的内容无论是对于你找面试工作还是提升技术广度深度都是完美的。

不想被后浪淘汰的话,赶紧搞起来吧,高清完整版一共是888页,需要的话可以点赞+关注

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

  • 15
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值