📄 smtpsconnector.java
字号:
/* * $Id: SmtpsConnector.java 10489 2008-01-23 17:53:38Z dfeist $ * -------------------------------------------------------------------------------------- * Copyright (c) MuleSource, Inc. All rights reserved. http://www.mulesource.com * * The software in this package is published under the terms of the CPAL v1.0 * license, a copy of which has been included with this distribution in the * LICENSE.txt file. */package org.mule.transport.email;import org.mule.api.lifecycle.CreateException;import org.mule.api.lifecycle.InitialisationException;import org.mule.api.security.TlsIndirectKeyStore;import org.mule.api.security.TlsIndirectTrustStore;import org.mule.api.security.tls.TlsConfiguration;import org.mule.api.security.tls.TlsPropertiesMapper;import java.io.IOException;import java.util.Properties;import javax.mail.URLName;/** Creates a secure SMTP connection */public class SmtpsConnector extends SmtpConnector implements TlsIndirectTrustStore, TlsIndirectKeyStore{ public static final String SMTPS = "smtps"; public static final String DEFAULT_SOCKET_FACTORY = SmtpsSocketFactory.class.getName(); private String socketFactory = DEFAULT_SOCKET_FACTORY; private String socketFactoryFallback = "false"; private TlsConfiguration tls = new TlsConfiguration(TlsConfiguration.DEFAULT_KEYSTORE); public static final int DEFAULT_SMTPS_PORT = 465; public SmtpsConnector() { super(DEFAULT_SMTPS_PORT); } public String getProtocol() { return "smtps"; } public String getBaseProtocol() { return "smtp"; } protected void doInitialise() throws InitialisationException { try { tls.initialise(true, null); } catch (CreateException e) { throw new InitialisationException(e, this); } } // @Override protected void extendPropertiesForSession(Properties global, Properties local, URLName url) { super.extendPropertiesForSession(global, local, url); local.setProperty("mail." + getProtocol() + ".ssl", "true"); local.setProperty("mail." + getProtocol() + ".socketFactory.class", getSocketFactory()); local.setProperty("mail." + getProtocol() + ".socketFactory.fallback", getSocketFactoryFallback()); new TlsPropertiesMapper(SmtpsSocketFactory.MULE_SMTPS_NAMESPACE).writeToProperties(global, tls); } public String getSocketFactory() { return socketFactory; } public void setSocketFactory(String sslSocketFactory) { this.socketFactory = sslSocketFactory; } public String getSocketFactoryFallback() { return socketFactoryFallback; } public void setSocketFactoryFallback(String socketFactoryFallback) { this.socketFactoryFallback = socketFactoryFallback; } public String getTrustStore() { return tls.getTrustStore(); } public String getTrustStorePassword() { return tls.getTrustStorePassword(); } public void setTrustStore(String trustStore) throws IOException { tls.setTrustStore(trustStore); } public void setTrustStorePassword(String trustStorePassword) { tls.setTrustStorePassword(trustStorePassword); } // these were not present before, but could be set implicitly via global proeprties // that is no longer true, so i have added them in here public String getClientKeyStore() { return this.tls.getClientKeyStore(); } public String getClientKeyStorePassword() { return this.tls.getClientKeyStorePassword(); } public String getClientKeyStoreType() { return this.tls.getClientKeyStoreType(); } public void setClientKeyStore(String name) throws IOException { this.tls.setClientKeyStore(name); } public void setClientKeyStorePassword(String clientKeyStorePassword) { this.tls.setClientKeyStorePassword(clientKeyStorePassword); } public void setClientKeyStoreType(String clientKeyStoreType) { this.tls.setClientKeyStoreType(clientKeyStoreType); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -