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

相关推荐
怒放吧德德5 小时前
Netty 4.2 入门指南:从概念到第一个程序
java·后端·netty
雨中飘荡的记忆6 小时前
大流量下库存扣减的数据库瓶颈:Redis分片缓存解决方案
java·redis·后端
心之语歌9 小时前
基于注解+拦截器的API动态路由实现方案
java·后端
华仔啊10 小时前
Stream 代码越写越难看?JDFrame 让 Java 逻辑回归优雅
java·后端
ray_liang10 小时前
用六边形架构与整洁架构对比是伪命题?
java·架构
用户83071968408210 小时前
spring ai alibaba + nacos +mcp 实现mcp服务负载均衡调用实战
spring boot·spring·mcp
Ray Liang11 小时前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
Java水解11 小时前
Java 中间件:Dubbo 服务降级(Mock 机制)
java·后端
YuMiao15 小时前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
SimonKing16 小时前
OpenCode AI辅助编程,不一样的编程思路,不写一行代码
java·后端·程序员