Spring Mail 关闭微服务

发布时间:2021-03-08 13:33

我有一个使用 JavaMailSender 发送电子邮件的 Spring Boot 2.4.2 微服务。 问题是,如果我没有互联网和/或电子邮件配置错误,微服务在 Eureka 服务器注册为 DOWN 并且不回答我的请求。我的微服务不仅仅用于电子邮件,可以/需要在没有外部连接的情况下工作,如何防止电子邮件杀死我的微服务?

我的属性:

## INFORMACOES EMAIL
spring.mail.properties.mail.smtp.connecttimeout=5000
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.connectiontimeout=5000
spring.mail.properties.mail.smtp.timeout=5000
spring.mail.properties.mail.smtp.writetimeout=5000
spring.mail.host=smtp.gmail.com
spring.mail.port=587
spring.mail.username=Wrong email (For debug porpuses)
spring.mail.password=NOT HERE...
回答1

问题是,当您配置邮件发件人时,Spring Actuator 会自动创建一个 MailHealthIndicator。

您可以在 management.health.mail.enabled 或系统属性或环境变量中将属性 false 设置为 application.properties 来禁用它。

您唯一要考虑的是如果邮件服务无法访问您该怎么办,也许将请求存储在数据库或队列中...