Spring JavaMailSenderImpl 自动检测服务器可用

问题描述 投票:0回答:2

我在SpringBoot网站中使用JavaMailSenderImpl。

    @Autowired
    private JavaMailSender mailSender;

    private void sendMail(String from, String[] to, String subject, String content) 
    {
        SimpleMailMessage message = new SimpleMailMessage();
        message.setFrom(from);
        message.setTo(to);
        message.setSubject(subject);
        message.setText(content);
        try {
            mailSender.send(message);
            PublicLogger.LOGGER_DEDUCT_GENERATE_NOTIFICATION_SERVICE_IMPL.info("The email has been sent");
        } catch (Exception ex) {
            PublicLogger.LOGGER_DEDUCT_GENERATE_NOTIFICATION_SERVICE_IMPL.error("sent email failed: {}", ex);
        }
    }

晚上没有人使用这个网站。它抛出异常。

所以我猜想,Spring 有时会通过某种方式检查 SMTP 服务器的可用性。你知道在哪里设置吗?谢谢。

spring spring-boot jakarta-mail
2个回答
2
投票

如果您想启用/禁用邮件健康检查:

应用程序.属性

management.health.mail.enabled=true # Whether to enable Mail health check.

0
投票

默认情况下,Spring Boot Actuator 将检查您的 smtp 服务器是否可访问,作为整体运行状况检查的一部分。如果不是,运行状况检查将失败(503 状态:DOWN)。健康检查的频率通常在平台(例如 Kubernetes)配置中指定。

© www.soinside.com 2019 - 2024. All rights reserved.