邮件服务器SSL自签证书问题

mac2024-06-20  51

邮件服务器SSL自签证书问题

package com.xxx.sxpush.config; import javax.net.ssl.X509TrustManager; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; /** * Description: sxpush * User: jeikerxiao * Date: 2019-10-31 14:12 */ public class MailTrustManager implements X509TrustManager { @Override public void checkClientTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException { } @Override public void checkServerTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException { } @Override public X509Certificate[] getAcceptedIssuers() { return new X509Certificate[0]; } } package com.xxx.sxpush.config; import javax.net.SocketFactory; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLSocketFactory; import javax.net.ssl.TrustManager; import java.io.IOException; import java.net.InetAddress; import java.net.Socket; /** * Description: 邮件SSL * User: jeikerxiao * Date: 2019-10-31 14:11 */ public class MailSocketFactory extends SSLSocketFactory { private SSLSocketFactory factory; public MailSocketFactory() { try { SSLContext sslcontext = SSLContext.getInstance("TLS"); sslcontext.init(null, new TrustManager[]{new MailTrustManager()}, null); factory = sslcontext.getSocketFactory(); } catch (Exception ex) { // ignore } } public static SocketFactory getDefault() { return new MailSocketFactory(); } @Override public Socket createSocket() throws IOException { return factory.createSocket(); } @Override public Socket createSocket(Socket socket, String s, int i, boolean flag) throws IOException { return factory.createSocket(socket, s, i, flag); } @Override public Socket createSocket(InetAddress inaddr, int i, InetAddress inaddr1, int j) throws IOException { return factory.createSocket(inaddr, i, inaddr1, j); } @Override public Socket createSocket(InetAddress inaddr, int i) throws IOException { return factory.createSocket(inaddr, i); } @Override public Socket createSocket(String s, int i, InetAddress inaddr, int j) throws IOException { return factory.createSocket(s, i, inaddr, j); } @Override public Socket createSocket(String s, int i) throws IOException { return factory.createSocket(s, i); } @Override public String[] getDefaultCipherSuites() { return factory.getDefaultCipherSuites(); } @Override public String[] getSupportedCipherSuites() { return factory.getSupportedCipherSuites(); } }

配置文件:

spring.mail.default-encoding=UTF-8 spring.mail.host=mail.csxbank.com spring.mail.password=qdzt123456 spring.mail.username=qdzt@csxbank.com spring.mail.protocol=smtp spring.mail.port=465 spring.mail.properties.mail.smtp.starttls.enable=false spring.mail.properties.mail.smtp.starttls.required=false spring.mail.properties.mail.smtp.socketFactory.port=465 spring.mail.properties.mail.smtp.socketFactory.class=com.xxx.sxpush.config.MailSocketFactory spring.mail.properties.mail.smtp.socketFactory.fallback=false
最新回复(0)