使用spring发送邮件,部署ECS服务器

applicationContext.xml

复制代码
<beans>
	<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
		<property name="host" value="smtp.163.com"/>
		<property name="port" value="465"/>
		<property name="username" value="xxxxx@163.com"/>
		<property name="password" value="xxxxxx"/>
		<property name="javaMailProperties">
			<props>
				 <prop key="mail.smtp.auth">true</prop>
        <prop key="mail.smtp.ssl.enable">true</prop>
        <prop key="mail.smtp.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop>
        <prop key="mail.smtp.timeout">25000</prop>
        <prop key="mail.smtp.socketFactory.fallback">false</prop>
        <prop key="mail.smtp.ssl.protocols">TLSv1.2</prop>
			</props>
		</property>
	</bean>
</beans>

EmailUtils.java

复制代码
package net.zkbc.admin.mgt.util;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Component;

@Component
public class EmailUtils {

    @Autowired
    private JavaMailSender mailSender;

    // 发件人自动取自 spring.mail.username
    public void sendTextMail(String to, String subject, String content) {
        SimpleMailMessage message = new SimpleMailMessage();
        message.setTo(to);
        message.setSubject(subject);
        message.setText(content);
        // 可选:指定发件人(不指定则用配置的username)
        message.setFrom("xxxx@163.com");
        mailSender.send(message);
    }
}

service中调用

复制代码
@Autowired
	JavaMailSender mailSender;

@Test
	public void testSendMail() {
		SimpleMailMessage message = new SimpleMailMessage();
		message.setFrom("ckkazxb@163.com");
		message.setTo("994028591@qq.com"); // 改成你的收件人
		message.setSubject("测试邮件");
		message.setText("这是一封测试邮件。");
		mailSender.send(message);
	}

注意使用的 jdk版本必须是>jdk 1.8.0_161 以上的版本 .

这里使用的是jdk1.8.0_202.jdk

jdk下载地址:Java Archive Downloads - Java SE 8

ECS中安全组规则中,出方向添加465的端口。

相关推荐
青山木9 分钟前
Hot 100 --- 打家劫舍
java·数据结构·算法·leetcode·动态规划
敲代码的嘎仔14 分钟前
28届后端开发-百人小厂面试题
java·后端·面试·程序员·秋招·实习·转正
闲云野鹤在人间16 分钟前
Docker入门|第1章 容器生态系统完整解析
运维·服务器·docker·容器·centos
筝筝ba19 分钟前
如何跳过FFDC
xml·linux·运维·服务器·网络
Bs_MoneyMagnet20 分钟前
基于springboot+vue的爱心众筹系统的设计与实现 源码+文档
java·vue.js·spring boot·后端·spring·管理系统
名字还没想好☜34 分钟前
Java Collectors.groupingBy 进阶:多级分组、下游收集器与统计聚合一次搞定
java·windows·后端·python·spring
Wang's Blog38 分钟前
Java框架快速入门: Spring Security+OAuth2之前端按钮级安全与路由守卫
java·安全·spring
ocean21031 小时前
2025-2026年Java语言及生态面试高频知识点洞察
java·开发语言·面试
u0109053591 小时前
NAS远程访问内网穿透方案之使用神卓N600实现不限速方法
服务器·网络·数据库
2302_1111 小时前
java时间类型
java·开发语言