You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Java Spring Boot连接Hostinger邮箱时遭遇连接拒绝问题

Spring Boot 连接Hostinger邮箱SMTP服务失败排查方案

问题场景

在Spring Boot项目中使用Hostinger邮箱服务发送邮件时,出现连接拒绝错误,相关信息如下:

1. application.properties配置

spring.mail.host=smtp.hostinger.com
spring.mail.port=465
spring.mail.username=myMailFromHostinger
spring.mail.password=password
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true

2. Maven依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

3. 发送邮件代码

public void sendEmail(String email, String subject, String body) {
    JavaMailSender javaMailSender = new JavaMailSenderImpl();
    SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
    simpleMailMessage.setFrom("myMailFromHostinger");
    simpleMailMessage.setTo(email);
    simpleMailMessage.setText(body);
    simpleMailMessage.setSubject(subject);

    javaMailSender.send(simpleMailMessage);
}

4. 报错信息

Caused by: java.net.ConnectException: Connection refused: connect

排查&解决步骤

1. 修正SMTP端口与加密配置不匹配问题

Hostinger的465端口使用SSL加密,而你配置的starttls.enable=true是25/587端口的STARTTLS加密规则,两者冲突导致连接失败。修改配置:

# 保留原有核心配置,替换加密规则
spring.mail.host=smtp.hostinger.com
spring.mail.port=465
spring.mail.username=myMailFromHostinger
spring.mail.password=password
spring.mail.properties.mail.smtp.auth=true
# 开启SSL加密,移除starttls配置
spring.mail.properties.mail.smtp.ssl.enable=true

2. 改用Spring注入的JavaMailSender实例

你手动new JavaMailSenderImpl()的方式不会读取application.properties中的配置,相当于用默认参数连接,必然失败。改为Spring自动注入的实例:

// 注入Spring自动配置好的JavaMailSender
@Autowired
private JavaMailSender javaMailSender;

public void sendEmail(String email, String subject, String body) {
    SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
    simpleMailMessage.setFrom("myMailFromHostinger");
    simpleMailMessage.setTo(email);
    simpleMailMessage.setText(body);
    simpleMailMessage.setSubject(subject);

    javaMailSender.send(simpleMailMessage);
}

3. 验证账号与网络环境

  • 确认username是Hostinger邮箱的完整地址(例如yourname@yourdomain.tld,不能只填前缀)
  • 如果开启了2FA,需使用Hostinger提供的应用专用密码替代普通登录密码
  • 用telnet smtp.hostinger.com 465测试端口连通性,若无法连接,检查本地/服务器防火墙是否封禁465端口,或联系Hostinger客服确认服务状态

4. 可选:切换至587端口(STARTTLS)

若465端口仍有问题,可尝试使用587端口,配置如下:

spring.mail.host=smtp.hostinger.com
spring.mail.port=587
spring.mail.username=myMailFromHostinger
spring.mail.password=password
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true

内容的提问来源于stack exchange,提问作者RedBlue

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 22:05:13