邮件服务器SSL自签证书问题
package com
.xxx
.sxpush
.config
;
import javax
.net
.ssl
.X509TrustManager
;
import java
.security
.cert
.CertificateException
;
import java
.security
.cert
.X509Certificate
;
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
;
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
) {
}
}
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
转载请注明原文地址: https://mac.8miu.com/read-493899.html