这个问题咋看可能是环境配置问题,实际也有可能是ssl协议不支持的问题:
-10-21 15:32:16.094 [ERROR] [DubboServerHandler-10.244.2.30:17278-thread-11] - com.lls.scf.notification.service.utils.mail.MailSender-116 发送邮件
失败12345678@
javax.mail.MessagingException: Could not connect to SMTP host: 10.0.76.11, port: 25
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1961)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:654)
at javax.mail.Service.connect(Service.java:317)
at javax.mail.Service.connect(Service.java:176)
at javax.mail.Service.connect(Service.java:125)
at javax.mail.Transport.send0(Transport.java:253)
at javax.mail.Transport.send(Transport.java:124)
at com.lls.scf.notification.service.utils.mail.MailSender.sendTextMail(MailSender.java:114)
at com.lls.scf.notification.service.service.mail.impl.NotiMailSendSerialService.sendSimpleTextEmail(NotiMailSendSerialService.java:203)
at com.lls.scf.notification.service.service.mail.impl.NotiMailSendSerialService$$FastClassBySpringCGLIB$$637731a0.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:684)
at com.lls.scf.notification.service.service.mail.impl.NotiMailSendSerialService$$EnhancerBySpringCGLIB$$654bc6af.sendSimpleTextEmail(<generated
>)
at com.lls.scf.notification.service.provider.mail.NotiMailSendProvider.sendSimpleTextEmail(NotiMailSendProvider.java:65)
at com.lls.scf.notification.service.provider.mail.NotiMailSendProvider$$FastClassBySpringCGLIB$$2397c33c.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:746)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88)
at com.lls.framework.rpc.dubbo.aspect.DubboExceptionAspect.aroundMethod(DubboExceptionAspect.java:53)
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.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:174)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)
at com.lls.scf.notification.service.provider.mail.NotiMailSendProvider$$EnhancerBySpringCGLIB$$5a2cbfc4.sendSimpleTextEmail(<generated>)
at org.mon.bytecode.Wrapper10.invokeMethod(Wrapper10.java)
at org.apache.dubbo.rpc.proxy.javassist.JavassistProxyFactory$1.doInvoke(JavassistProxyFactory.java:47)
at org.apache.dubbo.rpc.proxy.AbstractProxyInvoker.invoke(AbstractProxyInvoker.java:86)
at org.apache.dubbo.config.invoker.DelegateProviderMetaDataInvoker.invoke(DelegateProviderMetaDataInvoker.java:56)
at org.apache.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:56)
at com.lls.framework.rpc.dubbo.filter.DubboExceptionFilter.invoke(DubboExceptionFilter.java:56)
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:73)
at com.lls.framework.rpc.dubbo.filter.ProviderHolderFilter.invoke(ProviderHolderFilter.java:34)
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:73)
at org.apache.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:88)
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:73)
at org.apache.dubbo.rpc.filter.TimeoutFilter.invoke(TimeoutFilter.java:42)
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:73)
at org.apache.dubbo.rpc.protocol.dubbo.filter.TraceFilter.invoke(TraceFilter.java:79)
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:73)
at org.apache.dubbo.rpc.filter.ContextFilter.invoke(ContextFilter.java:78)
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:73)
at org.apache.dubbo.rpc.filter.GenericFilter.invoke(GenericFilter.java:138)
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:73)
at org.apache.dubbo.rpc.filter.ClassLoaderFilter.invoke(ClassLoaderFilter.java:38)
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:73)
at org.apache.dubbo.rpc.filter.EchoFilter.invoke(EchoFilter.java:39)
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:73)
at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol$1.reply(DubboProtocol.java:108)
at org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.handleRequest(HeaderExchangeHandler.java:103)
at org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.received(HeaderExchangeHandler.java:200)
at org.apache.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:51)
at org.apache.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:57)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: .ConnectException: Connection refused (Connection refused)
at .PlainSocketImpl.socketConnect(Native Method)
at .AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at .AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at .AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at .SocksSocketImpl.connect(SocksSocketImpl.java:392)
at .Socket.connect(Socket.java:589)
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:668)
at sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:173)
at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:299)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:208)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1927)
... 62 common frames omitted
解决办法:
1、排查邮件配置问题,域名,用户,密码,端口问题;
2、排除是否支撑ssl协议:
添加配置://是否开启发送邮件的功能@Value("${lls.notification.smtp.email.ifSSL}")private boolean ifSSL;/*** 获得邮件会话属性*/public Properties getProperties() {Properties p = new Properties();p.put("mail.smtp.host", mailServerHost);p.put("mail.smtp.port", mailServerPort);p.put("mail.smtp.socketFactory.fallback", "false");p.put("mail.smtp.auth", validate ? "true" : "false");// p.put("mail.smtp.localhost", "127.0.0.1"); // Linux下发送邮件报// javax.mail.MessagingException:// 501 Syntax: HELO hostnameif(ifSSL){p.put("mail.smtp.socketFactory.port", "465");p.put("mail.smtp.socketFactory.class", SSL_FACTORY);}return p;}