3 Replies Latest reply on Oct 3, 2014 10:12 PM by Jeff D

    Failing to get SMTP alerts working

    Brian Duke

      Ok I've been trying to test this for 2 solid days. I'm not getting closer to a fix.

      Tableau 8.0 I opened up the "Configure Tableau Server" application (ensuring the server is currently shut down, first). Click on the "Email Alerts/Subscriptions" tab. Ceck only the check box that says "Send email alerts for health issues."  Add details as such:

      SMTP Server: x.x.x.x

      Port: 25 

      User: !svrTest

      Password: ********

      Send email from: !svrTest@ourdomain.org

      Send email to: myid@ourdomain.org

       

      I've testing this email via a raw telnet to port 25 and it works perfectly. I get the email no problem. However, I cannot get the Tableau server to use these settings. I get the following error in the event log:

       

      The description for Event ID 4096 from source Tableau Server (Svcmonitor) cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.

      If the event originated on another computer, the display information had to be saved with the event.

      The following information was included with the event:

       

       

      2014-10-03 18:25:04.858 -0600 pool-1-thread-2   ERROR : com.tableausoftware.monitor.EmailNotifier - problem sending an email notification

      javax.mail.MessagingException: Can't send command to SMTP host;  nested exception is: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at com.sun.mail.smtp.SMTPTransport.sendCommand(SMTPTransport.java:1564) at com.sun.mail.smtp.SMTPTransport.sendCommand(SMTPTransport.java:1551) at com.sun.mail.smtp.SMTPTransport.ehlo(SMTPTransport.java:935) at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:426) at javax.mail.Service.connect(Service.java:288) at com.tableausoftware.monitor.util.SMTPClient.send(SMTPClient.java:135) at com.tableausoftware.monitor.EmailNotifier.dispatch(EmailNotifier.java:95) at com.tableausoftware.monitor.NotifierManager.dispatchAll(NotifierManager.java:95) at com.tableausoftware.monitor.NotificationDispatcher.run(NotificationDispatcher.java:165) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:722)Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at sun.security.ssl.Alerts.getSSLException(Alerts.java:192) at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1902) at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:276) at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:270) at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1341) at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:153) at sun.security.ssl.Handshaker.processLoop(Handshaker.java:868) at sun.security.ssl.Handshaker.process_record(Handshaker.java:804) at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1032) at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1328) at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:702) at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:122) at com.sun.mail.util.TraceOutputStream.write(TraceOutputStream.java:114) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) at com.sun.mail.smtp.SMTPTransport.sendCommand(SMTPTransport.java:1562) ... 16 moreCaused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:385) at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292) at sun.security.validator.Validator.validate(Validator.java:260) at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:326) at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:231) at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:126) at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1323) ... 27 moreCaused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:196) at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:268) at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:380) ... 33 more

       

      The only thing I can do is turn off the email functions totally. That's not a very wise method. Is this something simple or do I really need to open a bigger ticket? I've tried a hundred different ways of adding a usename to the config tool but none of them seem to work. I am in a domain but if simple telnet email to the exchange works, seems like the tableau config tool should have no issue.