⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smtpsconnector.java

📁 提供ESB 应用mule源代码 提供ESB 应用mule源代码
💻 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 + -