spring - javax.mail.MessagingException:使用 ionos 时无法连接到 SMTP 主机或收不到任何电子邮件
问题描述
我有 spring boot 应用程序,并希望使用ionos发送 eamil 。这些是我使用的电子邮件配置:
@Configuration
public class MailConfiguration {
@Autowired
private Environment env;
@Bean
public JavaMailSender getMailSender() {
JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
mailSender.setHost(env.getProperty("spring.mail.host"));
mailSender.setPort(Integer.parseInt(env.getProperty("spring.mail.port")));
mailSender.setUsername(env.getProperty("spring.mail.username"));
mailSender.setPassword(env.getProperty("spring.mail.password"));
return mailSender;
}
}
spring:
mail:
host: smtp.ionos.com
port: 465
username: support@mysite.com
password: password
使用465端口我收到此错误:
javax.mail.MessagingException: Could not connect to SMTP host: smtp.ionos.com, port: 465, response: -1
并且使用587端口,我没有收到任何错误,但收件箱中也没有收到任何电子邮件。
解决方案
如果你仍然坚持这一点。请与 Ionos 工作人员检查您的 DNS 记录,以确保一切正常,然后 - 如果仍然无法正常工作,请使用 Dror 的答案,因为它对我有用。
基本上,来自 Ionos 的错误只是一个红鲱鱼。您需要在 JavaMailSender 方法中设置from字段:
helper.setFrom(your email here);
很容易忽略这一点,因为 Gmail 的安全协议较松散,因此不需要它。
希望有帮助。
推荐阅读
- macros - Scheme宏什么匹配什么?
- python - 如何更新火花数据框中的特定单元格值?
- angular - 使用功能清除收音机列表 - 离子
- php - Memcached 在 Web 浏览器中不起作用,但使用 php 命令工作
- python - 如何通过公共列组合 2 个熊猫数组
- r - Bioconductor、R 版本和本地安装
- java - 使用 Java 进行安全用户身份验证
- amazon-web-services - 有没有办法在 AWS ECS 中设置 DNS 选项?
- react-native-maps - 所有 firebase 库必须高于或低于 14.0.0 (react-native-maps & react-native-firebase)
- scala - 字符串在 Scala 中被错误地解析为日期时间格式