triplea-game / triplea

TripleA is a turn based strategy game and board game engine, similar to Axis & Allies or Risk.
https://triplea-game.org/
GNU General Public License v3.0
1.32k stars 392 forks source link

2.5.22294: DefaultEmailSender#sendEmail:124 - jakarta.mail.MessagingException #11467

Open tripleabuilderbot opened 1 year ago

tripleabuilderbot commented 1 year ago

User Description

could not send email. Could not convert TLS... something like that.

Would really like to get this to work, but so far, no dice.

Log Message

Unable to send email, check SMTP server credentials: jakarta.mail.MessagingException: Could not convert socket to TLS; nested exception is: javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathB...

TripleA Version

2.5.22294

Java Version

11.0.6

Operating System

Windows 10

Memory

Heap utilization statistics [MB] Used Memory: 43 Free memory: 1935 Total memory: 1979 Max memory: 1979

Stack Trace

Exception: java.io.IOExceptionjakarta.mail.MessagingException: Could not convert socket to TLS;
  nested exception is:
    javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
java.lang.Exception
    at games.strategy.engine.posted.game.pbem.DefaultEmailSender.sendEmail(DefaultEmailSender.java:124)
    at games.strategy.engine.framework.startup.ui.posted.game.pbem.SendTestEmailAction.lambda$sendWithProgressWindow$2(SendTestEmailAction.java:46)
    at java.base/java.lang.Thread.run(Thread.java:834)

Exception: jakarta.mail.MessagingExceptionCould not convert socket to TLS
java.lang.Exception
    at com.sun.mail.smtp.SMTPTransport.startTLS(SMTPTransport.java:2140)
    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:734)
    at jakarta.mail.Service.connect(Service.java:342)
    at games.strategy.engine.posted.game.pbem.DefaultEmailSender.sendEmail(DefaultEmailSender.java:119)
    at games.strategy.engine.framework.startup.ui.posted.game.pbem.SendTestEmailAction.lambda$sendWithProgressWindow$2(SendTestEmailAction.java:46)
    at java.base/java.lang.Thread.run(Thread.java:834)

Exception: javax.net.ssl.SSLHandshakeExceptionPKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
java.lang.Exception
    at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131)
    at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:320)
    at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:263)
    at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:258)
    at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.checkServerCerts(CertificateMessage.java:1332)
    at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.onConsumeCertificate(CertificateMessage.java:1207)
    at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.consume(CertificateMessage.java:1150)
    at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:392)
    at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:443)
    at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:421)
    at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:177)
    at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:164)
    at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1151)
    at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1062)
    at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:402)
    at com.sun.mail.util.SocketFetcher.configureSSLSocket(SocketFetcher.java:602)
    at com.sun.mail.util.SocketFetcher.startTLS(SocketFetcher.java:529)
    at com.sun.mail.smtp.SMTPTransport.startTLS(SMTPTransport.java:2135)
    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:734)
    at jakarta.mail.Service.connect(Service.java:342)
    at games.strategy.engine.posted.game.pbem.DefaultEmailSender.sendEmail(DefaultEmailSender.java:119)
    at games.strategy.engine.framework.startup.ui.posted.game.pbem.SendTestEmailAction.lambda$sendWithProgressWindow$2(SendTestEmailAction.java:46)
    at java.base/java.lang.Thread.run(Thread.java:834)

Exception: sun.security.validator.ValidatorExceptionPKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
java.lang.Exception
    at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:439)
    at java.base/sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:306)
    at java.base/sun.security.validator.Validator.validate(Validator.java:264)
    at java.base/sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:313)
    at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:222)
    at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:129)
    at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.checkServerCerts(CertificateMessage.java:1316)
    at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.onConsumeCertificate(CertificateMessage.java:1207)
    at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.consume(CertificateMessage.java:1150)
    at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:392)
    at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:443)
    at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:421)
    at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:177)
    at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:164)
    at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1151)
    at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1062)
    at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:402)
    at com.sun.mail.util.SocketFetcher.configureSSLSocket(SocketFetcher.java:602)
    at com.sun.mail.util.SocketFetcher.startTLS(SocketFetcher.java:529)
    at com.sun.mail.smtp.SMTPTransport.startTLS(SMTPTransport.java:2135)
    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:734)
    at jakarta.mail.Service.connect(Service.java:342)
    at games.strategy.engine.posted.game.pbem.DefaultEmailSender.sendEmail(DefaultEmailSender.java:119)
    at games.strategy.engine.framework.startup.ui.posted.game.pbem.SendTestEmailAction.lambda$sendWithProgressWindow$2(SendTestEmailAction.java:46)
    at java.base/java.lang.Thread.run(Thread.java:834)

Exception: sun.security.provider.certpath.SunCertPathBuilderExceptionunable to find valid certification path to requested target
java.lang.Exception
    at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
    at java.base/sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)
    at java.base/java.security.cert.CertPathBuilder.build(CertPathBuilder.java:297)
    at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:434)
    at java.base/sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:306)
    at java.base/sun.security.validator.Validator.validate(Validator.java:264)
    at java.base/sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:313)
    at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:222)
    at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:129)
    at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.checkServerCerts(CertificateMessage.java:1316)
    at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.onConsumeCertificate(CertificateMessage.java:1207)
    at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.consume(CertificateMessage.java:1150)
    at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:392)
    at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:443)
    at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:421)
    at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:177)
    at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:164)
    at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1151)
    at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1062)
    at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:402)
    at com.sun.mail.util.SocketFetcher.configureSSLSocket(SocketFetcher.java:602)
    at com.sun.mail.util.SocketFetcher.startTLS(SocketFetcher.java:529)
    at com.sun.mail.smtp.SMTPTransport.startTLS(SMTPTransport.java:2135)
    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:734)
    at jakarta.mail.Service.connect(Service.java:342)
    at games.strategy.engine.posted.game.pbem.DefaultEmailSender.sendEmail(DefaultEmailSender.java:119)
    at games.strategy.engine.framework.startup.ui.posted.game.pbem.SendTestEmailAction.lambda$sendWithProgressWindow$2(SendTestEmailAction.java:46)
    at java.base/java.lang.Thread.run(Thread.java:834)
beelee1 commented 1 year ago

might have something todo with "jakarta.mail" Could try using a different email. gmail or gmx both work I know. So does proton. Oh, looks like you're trying to send for a email game ? A while back, gmail quit working for that and some other email providers too. Idk if it's fixed now, but gmx.mail currently works for a pbem game for me