使用SpringEMail API发送Email

RT-Thread网络编程:基于STM32F407的TCP客户端实现(含完整代码解析) 本文详细介绍了在STM32F407平台上,基于RT-Thread操作系统和LWIP协议栈实现工业级可靠TCP客户端的完整过程。内容涵盖底层ETH驱动配置、Socket编程、连接保活与断线重连机制、数据收发协议设计以及资源管理,提供了可应用于实际项目的健壮代码框架与调试技巧。 阅读详情

         这里使用SpringEmail发送Email,这里采用的是Java显示配置Bean,不是采用很多人使用的XML配置Bean,顺带我选择的是smtp协议的qq邮箱,并且qq邮箱要用SSL认证,所以端口不在之前的25,而应该是465

首先的是配置文件 mail.properties

#-------------------------
#-------------------------
#-------------------------
#Server 要发送到qq邮箱的并且采用smtp的地址
mail.smtp.host = smtp.qq.com
#Port   端口号
mail.smtp.port = 465
#whether password 是否要验证账号密码
mail.smtp.auth = true
#whether time out  时间
mail.smtp.timeout = 50000
#whether SSL    是否要SSL
mail.smtp.ssl.enable = true
#which transport.protocol 这个不懂 反正网上的人都写smtp估计是要采取的传输邮件的协议
mail.transport.protocol = smtp
#which socket    
mail.smtp.socketFactory.class = javax.net.ssl.SSLSocketFactory
#-------------------------
#Auth username and password
#-------------------------
#username 发送者的qq邮箱账号注意:是qq账号+@qq.com形式
mail.smtp.username = xxxx
#password 授权码,不懂授权码的自己百度吧,网上一大堆教怎么用授权码
mail.smtp.password = xxxx
#Encoding 默认的编码
mail.encoding = gbk
接下来的是Spring的Bean配置类,采用的是Java配置

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
import org.springframework.mail.MailSender;
import org.springframework.mail.javamail.JavaMailSenderImpl;

import java.util.Properties;
import java.util.logging.Logger;

@Configuration
@PropertySource(value="classpath:mail.properties")//加载properties文件,但相对的下面会有很多@Value注释的域
public class AllConfiguration {
	
	@Value("${mail.smtp.host}")
	public String mail_smtp_host;
	
	@Value("${mail.smtp.port}")
	public String mail_smtp_port;
	
	@Value("${mail.smtp.username}")
	public String mail_smtp_username;
	
	@Value("${mail.smtp.password}")
	public String mail_smtp_password;
	
	@Value("${mail.encoding}")
	public String mail_encoding;
	
	@Value("${mail.smtp.auth}")
	public String mail_smtp_auth;
	
	@Value("${mail.smtp.timeout}")
	public String mail_smtp_timeout;
	
	@Value("${mail.smtp.ssl.enable}")
	public String mail_smtp_ssl_enable;
	
	@Value("${mail.transport.protocol}")
	public String mail_transport_protocol;
	
	@Value("${mail.smtp.socketFactory.class}")
	public String mail_smtp_socketFactory_class;
	
	//要有下面的bean才能解读properties中的属性
	@Bean 
	public static PropertySourcesPlaceholderConfigurer propertyConfigInDev() { 
		return new PropertySourcesPlaceholderConfigurer(); 
	} 
	
	
	@Bean
	public MailSender createMailSender(){
		//MailSender这个是来配置发送的是哪个邮箱,密码,端口等等,是否要SSL认证
		JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
//		PropertiesUtil util=new PropertiesUtil("classpath:mail.properties");  
		Logger log = Logger.getLogger("log");
		log.info("创建smtp中");
		//设置服务器验证信息,现在像QQ邮箱都必须要SSL认证
		//put的话第二个参数支持各种类型,但是setProperty第二个参数只能是String型
		Properties properties = new Properties();
		System.out.println(mail_smtp_auth);
		properties.put("mail.smtp.auth", mail_smtp_auth);
		properties.put("mail.smtp.ssl.enable", mail_smtp_ssl_enable);
		properties.put("mail.transport.protocol", mail_transport_protocol);
		properties.put("mail.smtp.socketFactory.class",mail_smtp_socketFactory_class);
		properties.put("mail.smtp.timeout", mail_smtp_timeout);
		//设置邮件发到哪里去
		mailSender.setHost(mail_smtp_host);
		mailSender.setPort(Integer.valueOf(mail_smtp_port));
		mailSender.setUsername(mail_smtp_username);
		mailSender.setPassword(mail_smtp_password);
		mailSender.setDefaultEncoding(mail_encoding);
		mailSender.setProtocol("smtp");
		mailSender.setJavaMailProperties(properties);
		log.info("创建完毕");
		return mailSender;
	}
}
接下来的是测试类

import java.util.logging.Level;
import java.util.logging.Logger;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes=AllConfiguration.class)
public class SpitterMailImpl implements SpitterMail{
	private static Logger log = Logger.getLogger("C://Users/Administrator/Desktop/Log.txt");
	
	@Autowired
	private JavaMailSender mailSender;
	
	
	@Override
	public void sendMail(String to) {
		SimpleMailMessage message = new SimpleMailMessage();//这个只是写邮件的内容,包括发件人,收件人,内容等等
		try{
			log.info("创建邮件中...");
			message.setFrom("xxxxxx@qq.com");//注意setForm的参数是发送者的qq邮箱账号,这里与mail.smtp.username相同
			message.setTo(to);//发送到哪里去
			message.setSubject("邮件主题");//邮件主题
			message.setText("邮件内容");//邮件内容
			log.log(Level.INFO, "邮件正在发送");
			mailSender.send(message);
			log.log(Level.INFO, "邮件发送成功");
		}catch(Exception e){
			e.printStackTrace();
			log.log(Level.WARNING, "发送异常");
		}
	}
	
	@Test
	public void test(){
		sendMail("xxxxxxx@qq.com");//接收者的邮箱
	}

}


最后说一句,因为要使用smtp,所以自己的邮箱必须要先开通smtp协议

STM32F4_LCD显示汉字 LCD显示汉字和显示图片、数字、字符的原理是一样的,都是将汉字、图片、数字以及字符转换点阵,进而通过函数扫描点阵在LCD上显示; 阅读详情

相关推荐

Hcaptcha验证码的‘免浏览器’破解思路:协议分析与N值算法逆向

本文深入解析Hcaptcha验证码的‘免浏览器’破解思路,通过协议分析与N值算法逆向,实现高效自动识别。文章详细拆解Hcaptcha的API交互流程,揭示关键参数`req`和`n`的生成机制,并提供轻量级实现方案,显著降低资源消耗,适用于大规模数据采集等场景。

weixin_30838873的博客 535

python发邮件(163邮箱)

import smtplib from email.mime.text import MIMEText from email.header import Header class SendEmail(): def __init__(self,sende,smtpserver='smtp.163.com', username , password): self.sender =sender self.

Tramp_fish的博客 478

同花顺Supermind量化交易 风险控制建模--海龟交易法则

A.市场与标的海龟交易法则应用于流动性高的市场中,选择交易量较大的标的进行交易。本文以沪深300指数ETF为标的,构建海龟交易法则。B、仓位:仓位是海龟交易系统最核心的部分,通过ATR真实波幅指标来管理仓位。第一步:计算True Range,简称TR。TR = Max ( H−L , H−P , P−L ) ,其中H为当日日内最高价,L为当日日内最低价,P为前一日收盘价。第二步:计算ATRATR = mean ( TR , 20 ) , 即计算过去20天的TR的平均值,ATR是TR的移动平均值。

qq_22808537的博客 1497

java 发送邮件

1.使用gmail的SMTP发送邮件配置 mail.transport.protocol: SMTPmail.host: smtp.gmail.commail.smtp.username: XXX@gmail.commail.smtp.password: XXXXXXmail.smtp.port: 465对发送人邮箱进行设置:1.https://support.google.com/accoun...

weixin_33939843的博客 137

深入解析JESD204B Subclass 1中的SYSREF与LMFC同步机制

本文深入解析了JESD204B Subclass 1协议中的核心同步机制,重点阐述了SYSREF信号如何作为系统级参考,对齐所有设备内部的本地多帧时钟(LMFC),从而实现高速多通道数据采集系统中的确定性延迟。文章结合实战经验,详细说明了硬件设计、时序要点及软件配置流程,是解决多ADC芯片同步对齐问题的关键指南。

weixin_29271263的博客 398

从零开始:如何在Windows上搭建Airsim仿真环境(避坑指南)

本文是一份详细的Windows平台AirSim仿真环境搭建指南。文章从硬件要求、Visual Studio与虚幻引擎安装开始,逐步讲解AirSim插件编译、UE项目配置,并重点介绍了通过WSL2连接PX4飞控软件实现软件在环仿真的完整流程。内容涵盖常见问题排查与性能优化,旨在帮助开发者避开常见陷阱,高效构建可用于无人机算法开发的虚拟测试平台。

earth的博客 302

使用smtp服务器发送邮件(python)

在很多场景使用中,我们需要代码执行完毕之后发送短信或者邮件给特定人进行通知,所以代码要具备发送邮件和短信的功能。这里仅仅介绍使用smtp服务器发送邮件的功能部分,我使用的163邮箱的smtp服务器,编辑语言是python3. import smtplib from email.mime.text import MIMEText from email.header import Header #...

wangyhwyh753的博客 2369

从零开始:用君正T23ZN打造智能门锁双摄系统(含代码示例与调试技巧)

本文详细介绍了基于君正T23ZN视频处理芯片构建智能门锁双摄系统的完整实战方案。内容涵盖硬件选型与核心电路设计、软件开发环境搭建、双摄驱动框架、图像信号处理(ISP)调优、人脸识别算法集成与性能优化,以及系统调试与稳定性保障。文章提供了丰富的代码示例和调试技巧,旨在帮助嵌入式开发者高效实现具备人脸识别与监控功能的低功耗智能门锁视觉系统。

opencv7vision的博客 716

Python发送邮件

SMTP(简单邮件传输协议)是一种用于发送电子邮件的协议。SMTP 服务器负责接收并转发邮件。要使用 SMTP 服务器发送电子邮件,您需要知道 SMTP 服务器的地址和端口号,并且需要进行身份验证。

挨踢二天才 1276

uniapp - 热更新提示:WGT安装包中manifest.json文件不存在 | unexpected EOF!报错详细解决,完美搞定WGT安装包中WWW目录下manifest.json不存在问题

uniapp,安卓android,苹果ios,热更新,热更新code:-1202报错,,WGT热更新报错,uniapp热更新wgt出现报错manifest.json文件不存,uniapp安卓苹果软件热更新时出现错误unexpected EOF!如何解决,怎么解决热更新wgt报错,app新版本下载安装报错WGT安装包中manifest.json文件不存在,WGT安装包中WWW目录下manifest.json不存在,uniapp热更新报错安装失败[-1201]:WGT/WGTU文件格式错误,uniapp-wgt

✅ 精选推荐文章 1万+

OCR文字识别基础

ocr文字识别

m0_47405013的博客 1755

邮件协议解析:SMTP/POP3/IMAP应用指南

本文介绍了邮件通信中常用的SMTP、POP3和IMAP三种协议。SMTP用于邮件发送和转发,POP3和IMAP用于接收邮件,其中IMAP支持多端同步。文章分析了各协议的特点、应用场景和安全考量,并提供了Python代码示例演示如何通过三种协议收发邮件。建议根据实际需求选择协议:仅发送用SMTP,单端接收用POP3,多设备同步则推荐IMAP,同时强调应优先使用SSL/TLS加密端口保障安全性。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 2247

基于 Qt C++ 的金融行情交易终端

由于完整的商业级源码非常庞大,我将为你提供一个 **结构完整、可直接编译运行的基础框架**,并详细说明各模块的实现思路和扩展方向。double波动 = quote.lastPrice * (rand()%200 - 100) / 10000.0;// 订单缓存(orderId -> Order)

寒寒豆豆软件公司的博客 191

Spring Email发送邮件的深入学习与使用

详细介绍了使用Spring 快速发送邮件的方法。

终生学习践行者 1万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Spring Email-邮件发送

Spring Email发送不同形式内容的邮件 1、纯文本 2、附件 3、富文本(HTML) 4、使用模板的方式发送富文本邮件

November22的博客 893

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Community项目--注册之使用JavaMailSender发送邮件

注册之发送邮件 JavaMailSender

weixin_45263613的博客 1055

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

SpringEmail with Velocity template date and number formatting

SpringEmail with Velocity template date and number formatting

奋斗、 801

php smtp配置项,php邮件的smtp配置

我通过使用php邮件功能从我的网站发送邮件.但现在它没有工作,我联系了我们的托管团队,然后他们告诉我使用smtp,因为他们在服务器上做了一些更改.我不知道怎么做.当前代码(带有php邮件功能)如下,任何人都可以帮助我解决我必须做的更改.$mail_To="someone@gmail.com";$headers = "";$headers .= "From: livetv@muscle-tube.c...

weixin_39724004的博客 492

SMTP邮件协议体系

MUA(Mail User Agent)接收邮件所使用的邮件客户端,使用IMAP或POP3协议与服务器通信;如 outlook、thunderbird、Mac Mail、mutt; MTA(Mail Transfer Agent) 通过SMTP协议发送、转发邮件;如:sendmail、postfix MDA(Mail Deliver Agent)将MTA接收到的邮件保存到磁盘或指定地方,通常会

lysinely的博客 2261

ssm实现发送邮箱功能

我的jdk版本:1.8.0_333。

chao的博客 1655

javax.mail实现邮件发送

maven相关依赖 spring相关依赖加上邮件依赖,spring就不贴了 <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version> </dependenc...

qq_38839758的博客 818

smtp用户名与实际地址不一致_【实战演练】Linux操作系统10-搭建SMTP

#本文欢迎转载,转载请注明出处和作者。由于各种监控系统的实时告警,都需要使用邮箱进行发送,而其中使用SMTP协议的邮箱,各种监控系统、ITSM系统等支持最广泛。为测试监控系统的告警功能,需要先搭建1个SMTP邮箱。实验环境:CentOS6.5使用程序:EwoMail开源版1、软件下载git地址:https://gitee.com/laowu5/EwoMail直接打包下载即可,该软件开源,已经包含了...

weixin_39528219的博客 678

使用Spring发送邮件

1. [代码]properties 文件      ? 1 2 3 4 5 6 7 8 9 10 11 12 13 #配置服务器邮件账号信息 #服务器 mail.smtp.host=smtp.xxx.com #是否需要验证密码 mail.smtp.a

StarLOVELeaf的博客 698

Spring 发送Email

一、配置Spring发送邮件 Spring Email抽象的核心是MailSender接口。顾名思义,MailSender的实现能够通过连接Email服务器实现邮件发送的功能,如图所示: Spring自带了一个MailSender的实现也就是JavaMailSenderImpl,它会使用JavaMail API来发送Email。Spring应用在发送Email之前,我们必须要将JavaMail...

书香水墨 5622

通过Spring Mail Api发送邮件

【引言】 使用Java Mail API来发送邮件也很容易实现,但是最近公司一个同事封装的邮件API实在让我无法接受,于是便打算改用Spring Mail API来发送邮件,顺便记录下这篇文章。 【Spring Mail API】 Spring Mail API都在org.springframework.mail及其子包org.springframework.mail.javamail中封装...

t225com 362

Spring-Mail发邮件

新建maven项目,pom添加依赖和项目构建: <dependencies> <!--spring 依赖 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.3.12.RELEASE</version> &lt

lx1315998513的博客 2325
上一篇: 使用Telnet时不能访问
下一篇: 在Eclipse编辑spring-boot出现问题
李承一
博客等级 码龄9年 21粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值