Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to disable the mail health check in Spring Boot?

I would like to disable the mail health check in spring boot as the values will be set during runtime. I've found this mentioned in certain GitHub issues for Spring Boot but the configs mentioned vary.

This is my exception after starting my Spring Boot application.

  2021-12-13 11:58:52.173 |tion(3)-192.168.1.89 |WARN  |o.s.boot.actuate.mail.MailHealthIndicator   | Mail health check failed
com.sun.mail.util.MailConnectException: Couldn't connect to host, port: localhost, 25; timeout -1
  at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2210)
  at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:722)
  at javax.mail.Service.connect(Service.java:342)
  at org.springframework.mail.javamail.JavaMailSenderImpl.connectTransport(JavaMailSenderImpl.java:518)
  at org.springframework.mail.javamail.JavaMailSenderImpl.testConnection(JavaMailSenderImpl.java:398)
  at org.springframework.boot.actuate.mail.MailHealthIndicator.doHealthCheck(MailHealthIndicator.java:42)
  at org.springframework.boot.actuate.health.AbstractHealthIndicator.health(AbstractHealthIndicator.java:82)
  at org.springframework.boot.actuate.health.HealthIndicator.getHealth(HealthIndicator.java:37)
  at org.springframework.boot.actuate.health.HealthEndpoint.getHealth(HealthEndpoint.java:71)
  at org.springframework.boot.actuate.health.HealthEndpoint.getHealth(HealthEndpoint.java:39)
  at org.springframework.boot.actuate.health.HealthEndpointSupport.getContribution(HealthEndpointSupport.java:99)
  at org.springframework.boot.actuate.health.HealthEndpointSupport.getAggregateHealth(HealthEndpointSupport.java:110)
  at org.springframework.boot.actuate.health.HealthEndpointSupport.getContribution(HealthEndpointSupport.java:96)
  at org.springframework.boot.actuate.health.HealthEndpointSupport.getHealth(HealthEndpointSupport.java:74)
  at org.springframework.boot.actuate.health.HealthEndpointSupport.getHealth(HealthEndpointSupport.java:61)
  at org.springframework.boot.actuate.health.HealthEndpoint.health(HealthEndpoint.java:65)
  at org.springframework.boot.actuate.health.HealthEndpoint.health(HealthEndpoint.java:55)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:498)
  at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:282)
  at org.springframework.boot.actuate.endpoint.invoke.reflect.ReflectiveOperationInvoker.invoke(ReflectiveOperationInvoker.java:77)
  at org.springframework.boot.actuate.endpoint.annotation.AbstractDiscoveredOperation.invoke(AbstractDiscoveredOperation.java:60)
  at org.springframework.boot.actuate.endpoint.jmx.EndpointMBean.invoke(EndpointMBean.java:121)
  at org.springframework.boot.actuate.endpoint.jmx.EndpointMBean.invoke(EndpointMBean.java:96)
  at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
  at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
  at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1468)
  at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76)
  at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309)
  at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1401)
  at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829)
  at sun.reflect.GeneratedMethodAccessor441.invoke(Unknown Source)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:498)
  at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357)
  at sun.rmi.transport.Transport$1.run(Transport.java:200)
  at sun.rmi.transport.Transport$1.run(Transport.java:197)
  at java.security.AccessController.doPrivileged(Native Method)
  at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
  at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:573)
  at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:834)
  at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:688)
  at java.security.AccessController.doPrivileged(Native Method)
  at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:687)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
  at java.lang.Thread.run(Thread.java:748)
Caused by: java.net.ConnectException: Connection refused: connect
  at java.net.DualStackPlainSocketImpl.connect0(Native Method)
  at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
  at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
  at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
  at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
  at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
  at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
  at java.net.Socket.connect(Socket.java:607)
  at java.net.Socket.connect(Socket.java:556)
  at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:335)
  at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:214)
  at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2160)
  ... 48 common frames omitted

I've tried adding this to my config but it is throwing the same exception.

mail:
  test-connection: false
  properties:
    management:
      health:
        mail:
          enabled: false

What is the correct config to disable the mail health checks in Spring Boot?

like image 824
Michael Avatar asked Dec 10 '25 01:12

Michael


1 Answers

Try

management:
  health:
    mail:
      enabled: false
like image 187
Nick Avatar answered Dec 12 '25 14:12

Nick



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!