Spring Boot - 无法连接到 SMTP 主机 : smtp. gmail.com,端口 : 25, 响应:421

标签 spring email smtp jakarta-mail spring-boot

我正在使用 gmail smtp 主机 t 通过 spring boot 和 JavaMail Sender 发送邮件:

我的邮件属性:

 spring.mail.host = smtp.gmail.com
 spring.mail.username = XXX@gmail.com
 spring.mail.password = XXX

 spring.mail.properties.mail.smtp.auth = true
 spring.mail.properties.mail.smtp.socketFactory.port = 465
 spring.mail.properties.mail.smtp.starttls.enable = true
 spring.mail.properties.mail.smtp.socketFactory.class = javax.net.ssl.SSLSocketFactory
 spring.mail.properties.mail.smtp.socketFactory.fallback = false

获取错误:
Failed message 1: javax.mail.MessagingException: Could not connect to SMTP host: smtp.9business.fr, port: 25, response: 421] with root cause

即使我使用的是 465 端口,为什么他指向端口 25 ?

最佳答案

我不确定你从哪里得到这些属性。可以在此处找到要配置的更常见的 Spring Boot 属性:

http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html

所以你可能应该使用 spring.mail.port . spring.mail 中可用的属性命名空间是:

host
port
username
password
defaultEncoding (default: "UTF-8")

但是,如果您正在创建自己的 JavaMailSender ,设置SMTP端口的属性是mail.smtp.port .我设置了JavaMailSender像这样的 bean :
@Value(value = "${mail.smtp.host}")
private String smtpHost;

@Value(value = "${mail.smtp.port}")
private String smtpPort;

@Bean
public JavaMailSender mailSender() {
    JavaMailSenderImpl sender = new JavaMailSenderImpl();

    Properties p = new Properties();
    p.setProperty("mail.smtp.auth", "false");
    p.setProperty("mail.smtp.host", smtpHost);
    p.setProperty("mail.smtp.port", smtpPort);
    sender.setJavaMailProperties(p);

    return sender;
}

关于Spring Boot - 无法连接到 SMTP 主机 : smtp. gmail.com,端口 : 25, 响应:421,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28064904/

相关文章:

java - spring boot:无法解析导入的org.springframework.jdbc.core.JdbcTemplate

linux - 如何在lvs+keepalived配置文件中配置电子邮件身份验证信息

c# - 在 C# 中将 MIME 编码的文件作为电子邮件发送

PHP fatal error : Uncaught Swift_TransportException: Connection could not be established with host ssl://smtp. gmail.com :stream_socket_client()

java - 如何在 Spring 中将 Retryable 和 CircuitBreaker 结合在一起?

c# - Spring.NET 等效于 Java Spring 数据访问用法

java - Spring DATA JPA 以 Hibernate 作为 JPA 提供者

java群发邮件发件人

HTML 电子邮件 - GMAIL 显示 block 无法正常工作

php - SMTP 配置在生产中不起作用