通过域注册器 1and1 smtp 使用 Spring 邮件发送邮件的问题

Dro*_*ror 2 email smtp-auth spring-boot

我正在尝试使用 spring mail (1.5.8.RELEASE) JavaMailSender 从 spring boot 应用程序发送电子邮件

通过 gmail SMTP 发送没问题。但是通过我的域注册商的 amtp(注册商名称 - 1and1,以防有人已经解决了这个问题)发送电子邮件不起作用。

我收到此错误,imo - 比有用更通用: com.sun.mail.smtp.SMTPSenderFailedException:550-未采取请求的操作:邮箱不可用 550 无效的 DNS MX 或 A/AAAA 资源记录

我发送的域名是 bank.org,并且有以下 DNS 设置:

bank.org.             3600    IN      A       178.79.161.205
bank.org.             3600    IN      MX      11 mx01.1and1.com.
bank.org.             3600    IN      MX      10 mx00.1and1.com.
Run Code Online (Sandbox Code Playgroud)

问题是,我可以使用本指南中指定的设置向 gmail 发送电子邮件:http : //www.baeldung.com/spring-email

这些是使用 gmail 发送的设置:

spring.mail.host=smtp.gmail.com
spring.mail.port=587
spring.mail.username=<login user to smtp server>
spring.mail.password=<login password to smtp server>
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试通过我的注册商发送消息时,这些设置不成功:

spring.mail.host=smtp.1and1.com
spring.mail.port=587
spring.mail.username=username
spring.mail.password=password
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
Run Code Online (Sandbox Code Playgroud)

问题是 - 我能够使用雷鸟电子邮件客户端连接到 1and1 SMTP。所以我知道凭据有效。

我想我需要的是找到一种方法来检测正确的设置,因为支持团队无法帮助解决与从 spring 邮件以编程方式发送电子邮件相关的问题

Dro*_*ror 6

问题的原因是 -我没有在我的外发消息中以编程方式设置发件人字段(“发件人”字段)

一旦我设置了From字段,问题就解决了。

不幸的是,来自 1and1 的 SMTP 的响应无关紧要(“550 invalid DNS MX or A/AAAA resource record”)

希望这可以帮助任何人