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

相关推荐
YuTaoShao6 分钟前
【LeetCode 热题 100】152. 乘积最大子数组——(解法一)递推
java·算法·leetcode·职场和发展
熙客7 分钟前
Java:HashMap的使用
java·开发语言
程序员清风16 分钟前
程序员代码有Bug别怕,人生亦是如此!
java·后端·面试
Java码农田19 分钟前
springmvc源码分析全体流程图
spring·源码
就是帅我不改24 分钟前
告别996!高可用低耦合架构揭秘:SpringBoot + RabbitMQ 让订单系统不再崩
java·后端·面试
hhzz37 分钟前
Maven项目中settings.xml终极优化指南
java·jdk·maven
hqxstudying1 小时前
MyBatis 和 MyBatis-Plus对比
java·数据库·mysql·mybatis
源码哥_博纳软云1 小时前
JAVA国际版多商户运营版商城系统源码多商户社交电商系统源码支持Android+IOS+H5
android·java·ios·微信·微信小程序·小程序·uni-app
猿java1 小时前
为什么复杂的架构一定要做分层设计?
java·面试·架构
whitepure1 小时前
万字详解常用数据结构(Java版)
java·数据结构·后端