2016-06-06 4 views
-1

Я получаю это исключение, когда я отправляю электронное письмо из моего приложения Java, развернутого в AWS Elastic Beanstalk, на котором запущен сервер Tomcat. Что мне здесь не хватает?Отправка почты из приложения Java, развернутого в AWS Elastic BeanStalk

06 Jun 2016 17:24:39 [taskExecutor-6] [] ERROR: o.s.i.handler.LoggingHandler - java.lang.NoClassDefFoundError: Could not initialize class sun.security.provider.certpath.AdaptableX509CertSelector 
    at sun.security.provider.certpath.PKIXCertPathValidator.isWorthTrying(PKIXCertPathValidator.java:231) 
    at sun.security.provider.certpath.PKIXCertPathValidator.engineValidate(PKIXCertPathValidator.java:171) 
    at java.security.cert.CertPathValidator.validate(CertPathValidator.java:279) 
    at sun.security.validator.PKIXValidator.doValidate(PKIXValidator.java:345) 
    at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:260) 
    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:1454) 
    at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:213) 
    at sun.security.ssl.Handshaker.processLoop(Handshaker.java:913) 
    at sun.security.ssl.Handshaker.process_record(Handshaker.java:849) 
    at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1035) 
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1344) 
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1371) 
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1355) 
    at com.sun.mail.util.SocketFetcher.configureSSLSocket(SocketFetcher.java:503) 
    at com.sun.mail.util.SocketFetcher.startTLS(SocketFetcher.java:443) 
    at com.sun.mail.smtp.SMTPTransport.startTLS(SMTPTransport.java:1647) 
    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:534) 
    at javax.mail.Service.connect(Service.java:291) 
    at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:397) 
    at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:346) 
    at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:341) 
    at org.springframework.integration.mail.MailSendingMessageHandler.handleMessageInternal(MailSendingMessageHandler.java:81) 
    at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:78) 
    at org.springframework.integration.handler.MessageHandlerChain$1.send(MessageHandlerChain.java:150) 
    at org.springframework.messaging.core.GenericMessagingTemplate.doSend(GenericMessagingTemplate.java:115) 
    at org.springframework.messaging.core.GenericMessagingTemplate.doSend(GenericMessagingTemplate.java:45) 
    at org.springframework.messaging.core.AbstractMessageSendingTemplate.send(AbstractMessageSendingTemplate.java:95) 
    at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.sendMessage(AbstractReplyProducingMessageHandler.java:260) 
    at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.sendReplyMessage(AbstractReplyProducingMessageHandler.java:241) 
    at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.produceReply(AbstractReplyProducingMessageHandler.java:205) 
    at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.handleResult(AbstractReplyProducingMessageHandler.java:199) 
    at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.handleMessageInternal(AbstractReplyProducingMessageHandler.java:177) 
    at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:78) 
    at org.springframework.integration.handler.MessageHandlerChain$1.send(MessageHandlerChain.java:150) 
    at org.springframework.messaging.core.GenericMessagingTemplate.doSend(GenericMessagingTemplate.java:115) 
    at org.springframework.messaging.core.GenericMessagingTemplate.doSend(GenericMessagingTemplate.java:45) 
    at org.springframework.messaging.core.AbstractMessageSendingTemplate.send(AbstractMessageSendingTemplate.java:95) 
    at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.sendMessage(AbstractReplyProducingMessageHandler.java:260) 
    at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.sendReplyMessage(AbstractReplyProducingMessageHandler.java:241) 
    at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.produceReply(AbstractReplyProducingMessageHandler.java:205) 
    at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.handleResult(AbstractReplyProducingMessageHandler.java:199) 
    at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.handleMessageInternal(AbstractReplyProducingMessageHandler.java:177) 
    at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:78) 
    at org.springframework.integration.handler.MessageHandlerChain.handleMessageInternal(MessageHandlerChain.java:131) 
    at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:78) 
    at org.springframework.integration.dispatcher.BroadcastingDispatcher.invokeHandler(BroadcastingDispatcher.java:160) 
    at org.springframework.integration.dispatcher.BroadcastingDispatcher.access$000(BroadcastingDispatcher.java:48) 
    at org.springframework.integration.dispatcher.BroadcastingDispatcher$1.run(BroadcastingDispatcher.java:136) 
    at org.springframework.integration.util.ErrorHandlingTaskExecutor$1.run(ErrorHandlingTaskExecutor.java:52) 
    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:745) 
+0

Электронное письмо представляет собой Office 365. Нет проблем с именем хоста smtp, портом. Я могу отправлять электронные письма с localhost. Проблема только в AWS –

+0

Добро пожаловать в переполнение стека! Вы можете [изменить] свой вопрос, чтобы включить то, что вы написали в своем комментарии. – mindriot

ответ

0

Либо Beanstalk имеет перепутались JDK установки/конфигурации, или есть что-то в сертификате от сервера, который путает JDK. Возможно, какой-то межсетевой экран или антивирус мешают подключению.

Может помочь один из workarounds described in the JavaMail FAQ.

  • Установите сертификат сервера в свой магазин доверия.
  • Установите для свойства mail.smtp.ssl.trust значение для сервера.
Смежные вопросы