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.34k stars 393 forks source link

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

Open tripleabuilderbot opened 6 months ago

tripleabuilderbot commented 6 months ago

Map

world_war_ii_v4

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: 136 Free memory: 1843 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 6 months ago

Not entirely sure this is what you're trying todo but the pbem/pbf doesn't work with 2.5 I don't think it works with 2.6 either. Idk for sure. I thought redrum fixed it.

Anyway, you have to send the saved game manually