使用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的端口。

相关推荐
星火开发设计1 分钟前
C++ deque 全面解析与实战指南
java·开发语言·数据结构·c++·学习·知识
独自破碎E2 分钟前
什么是RabbitMQ中的死信队列?
java·rabbitmq·java-rabbitmq
刘一说2 分钟前
Spring Cloud微服务中的API网关:从Zuul到Spring Cloud Gateway的全面进化
spring·spring cloud·微服务
码界奇点3 分钟前
基于Spring与Netty的分布式配置管理系统设计与实现
java·分布式·spring·毕业设计·源代码管理
计算机毕设指导64 分钟前
基于微信小程序的咖啡店点餐系统【源码文末联系】
java·spring boot·微信小程序·小程序·tomcat·maven·intellij-idea
Geoking.4 分钟前
【设计模式】外观模式(Facade)详解
java·设计模式·外观模式
全栈小55 分钟前
【PHP】如何将ThinkPHP 5部署到windows服务器的IIS里,和PHP版本又是一个怎么样的关系,三分钟教程搞定部署
服务器·windows·php
闻道且行之9 分钟前
NLP 部署实操:Langchain-Chatchat 配置文件深度修改与精细化调试
java·自然语言处理·langchain
h7ml10 分钟前
企业微信回调模式解析:从XML到POJO的自定义JAXB编解码器设计
xml·java·企业微信
草莓熊Lotso11 分钟前
Qt 信号与槽深度解析:从基础用法到高级实战(含 Lambda 表达式)
java·运维·开发语言·c++·人工智能·qt·数据挖掘