public class IMAPSClient extends IMAPClient
//Implicit usage:
IMAPSClient c = new IMAPSClient(true);
c.connect("127.0.0.1", 993);
//Explicit usage:
IMAPSClient c = new IMAPSClient();
c.connect("127.0.0.1", 143);
if (c.execTLS()) { /rest of the commands here/ }
Warning: the hostname is not verified against the certificate by default, use setHostnameVerifier(HostnameVerifier)
or
setEndpointCheckingEnabled(boolean)
(on Java 1.7+) to enable verification.IMAPClient.FETCH_ITEM_NAMES, IMAPClient.SEARCH_CRITERIA, IMAPClient.STATUS_DATA_ITEMS
IMAP.IMAPChunkListener, IMAP.IMAPState
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_IMAPS_PORT
The default IMAP over SSL port.
|
static String |
DEFAULT_PROTOCOL
Default secure socket protocol name.
|
__DEFAULT_ENCODING, __writer, _reader, DEFAULT_PORT, TRUE_CHUNK_LISTENER
_defaultPort_, _hostname_, _input_, _output_, _serverSocketFactory_, _socket_, _socketFactory_, _timeout_, connectTimeout, NETASCII_EOL
Constructor and Description |
---|
IMAPSClient()
Constructor for IMAPSClient.
|
IMAPSClient(boolean implicit)
Constructor for IMAPSClient.
|
IMAPSClient(boolean implicit,
SSLContext ctx)
Constructor for IMAPSClient.
|
IMAPSClient(SSLContext context)
Constructor for IMAPSClient.
|
IMAPSClient(String proto)
Constructor for IMAPSClient.
|
IMAPSClient(String proto,
boolean implicit)
Constructor for IMAPSClient.
|
IMAPSClient(String proto,
boolean implicit,
SSLContext ctx)
Constructor for IMAPSClient.
|
Modifier and Type | Method and Description |
---|---|
protected void |
_connectAction_()
Because there are so many connect() methods, the _connectAction_() method is provided as a means of performing some action immediately after establishing
a connection, rather than reimplementing all of the connect() methods.
|
boolean |
execTLS()
The TLS command execution.
|
String[] |
getEnabledCipherSuites()
Returns the names of the cipher suites which could be enabled for use on this connection.
|
String[] |
getEnabledProtocols()
Returns the names of the protocol versions which are currently enabled for use on this connection.
|
HostnameVerifier |
getHostnameVerifier()
Get the currently configured
HostnameVerifier . |
TrustManager |
getTrustManager()
Get the currently configured
TrustManager . |
boolean |
isEndpointCheckingEnabled()
Return whether or not endpoint identification using the HTTPS algorithm on Java 1.7+ is enabled.
|
void |
setEnabledCipherSuites(String[] cipherSuites)
Controls which particular cipher suites are enabled for use on this connection.
|
void |
setEnabledProtocols(String[] protocolVersions)
Controls which particular protocol versions are enabled for use on this connection.
|
void |
setEndpointCheckingEnabled(boolean enable)
Automatic endpoint identification checking using the HTTPS algorithm is supported on Java 1.7+.
|
void |
setHostnameVerifier(HostnameVerifier newHostnameVerifier)
Override the default
HostnameVerifier to use. |
void |
setKeyManager(KeyManager newKeyManager)
Set a
KeyManager to use. |
void |
setTrustManager(TrustManager newTrustManager)
Override the default
TrustManager to use. |
append, append, append, capability, check, close, copy, create, delete, examine, expunge, fetch, list, login, logout, lsub, noop, rename, search, search, select, status, store, subscribe, uid, unsubscribe
disconnect, doCommand, doCommand, fireReplyReceived, generateCommandID, getReplyString, getReplyStrings, getState, sendCommand, sendCommand, sendCommand, sendCommand, sendData, setChunkListener, setState
addProtocolCommandListener, applySocketAttributes, connect, connect, connect, connect, connect, connect, createCommandSupport, fireCommandSent, getCharset, getCharsetName, getCommandSupport, getConnectTimeout, getDefaultPort, getDefaultTimeout, getKeepAlive, getLocalAddress, getLocalPort, getProxy, getReceiveBufferSize, getRemoteAddress, getRemotePort, getSendBufferSize, getServerSocketFactory, getSoLinger, getSoTimeout, getTcpNoDelay, isAvailable, isConnected, removeProtocolCommandListener, setCharset, setConnectTimeout, setDefaultPort, setDefaultTimeout, setKeepAlive, setProxy, setReceiveBufferSize, setSendBufferSize, setServerSocketFactory, setSocketFactory, setSoLinger, setSoTimeout, setTcpNoDelay, verifyRemote
public static final int DEFAULT_IMAPS_PORT
public static final String DEFAULT_PROTOCOL
public IMAPSClient()
public IMAPSClient(boolean implicit)
implicit
- The security mode (Implicit/Explicit).public IMAPSClient(boolean implicit, SSLContext ctx)
implicit
- The security mode(Implicit/Explicit).ctx
- A pre-configured SSL Context.public IMAPSClient(SSLContext context)
context
- A pre-configured SSL Context.public IMAPSClient(String proto)
proto
- the protocol.public IMAPSClient(String proto, boolean implicit)
proto
- the protocol.implicit
- The security mode(Implicit/Explicit).public IMAPSClient(String proto, boolean implicit, SSLContext ctx)
proto
- the protocol.implicit
- The security mode(Implicit/Explicit).ctx
- the SSL contextprotected void _connectAction_() throws IOException
_connectAction_
in class IMAP
IOException
- If it is thrown by _connectAction_().SocketClient._connectAction_()
public boolean execTLS() throws SSLException, IOException
SSLException
- If the server reply code is not positive.IOException
- If an I/O error occurs while sending the command or performing the negotiation.public String[] getEnabledCipherSuites()
Socket
is not an
SSLSocket
instance, returns null.null
.public String[] getEnabledProtocols()
Socket
is
not an SSLSocket
instance, returns null.null
.public HostnameVerifier getHostnameVerifier()
HostnameVerifier
.public TrustManager getTrustManager()
TrustManager
.public boolean isEndpointCheckingEnabled()
public void setEnabledCipherSuites(String[] cipherSuites)
cipherSuites
- The cipher suites.public void setEnabledProtocols(String[] protocolVersions)
protocolVersions
- The protocol versions.public void setEndpointCheckingEnabled(boolean enable)
enable
- Enable automatic endpoint identification checking using the HTTPS algorithm on Java 1.7+.public void setHostnameVerifier(HostnameVerifier newHostnameVerifier)
HostnameVerifier
to use.newHostnameVerifier
- The HostnameVerifier implementation to set or null
to disable.public void setKeyManager(KeyManager newKeyManager)
KeyManager
to use.newKeyManager
- The KeyManager implementation to set.KeyManagerUtils
public void setTrustManager(TrustManager newTrustManager)
TrustManager
to use.newTrustManager
- The TrustManager implementation to set.TrustManagerUtils
Copyright © 2001–2022 The Apache Software Foundation. All rights reserved.