|
Secure iNet Factory | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectcom.jscape.inet.imap.Imap
com.jscape.inet.imapssl.ImapSsl
Implements the basic functionality of a secure IMAP client using SSL/TLS. Client supports both implicit SSL/TLS on port 993 (default) and explicit SSL/TLS using STARTTLS command on port 143.
Example Usage (implicit SSL/TLS):
// new instance with hostname, SSL port, username and password
ImapSsl imap = new ImapSsl("imap4.myserver.com",993,"jsmith","secret");
try {
// connect to IMAP4 server
imap.connect();
// get messages
int messageCount = imap.getMessageCount();
for(int i = 1; i <= messageCount(); ++i) {
EmailMessage em = imap.getMessage(i);
}
// disconnect
imap.disconnect();
}
catch(Exception e) {
System.out.println(e);
}
Example Usage (explicit SSL/TLS using STARTTLS command):
// new instance with hostname, SSL port, username and password
ImapSsl imap = new ImapSsl("imap4.myserver.com",143,"jsmith","secret");
imap.setConnectionType(ImapSsl.STARTTLS);
try {
// connect to IMAP4 server
imap.connect();
// get messages
int messageCount = imap.getMessageCount();
for(int i = 1; i <= messageCount(); ++i) {
EmailMessage em = imap.getMessage(i);
}
// disconnect
imap.disconnect();
}
catch(Exception e) {
System.out.println(e);
}
| Field Summary | |
static int |
DEFAULT_PORT
The default port to connect to for secure IMAP over SSL connections (993). |
static int |
IMPLICIT_SSL
Connection type for implicit SSL/TLS connections on port 993. |
static int |
STARTTLS
Connection type for explicit SSL/TLS connections using STARTTLS command on port 143. |
| Fields inherited from class com.jscape.inet.imap.Imap |
AUTH_CRAM_MD5, AUTH_LOGIN, FLAG_ANSWERED, FLAG_DELETED, FLAG_DRAFT, FLAG_FLAGGED, FLAG_MODE_ADD, FLAG_MODE_DELETE, FLAG_MODE_REPLACE, FLAG_RECENT, FLAG_SEEN |
| Constructor Summary | |
ImapSsl(java.lang.String hostname,
int port,
java.lang.String username,
java.lang.String password)
Creates a new ImapSsl instance. |
|
ImapSsl(java.lang.String hostname,
java.lang.String username,
java.lang.String password)
Creates a new ImapSsl instance. |
|
| Method Summary | |
void |
clearProxySettings()
Clears proxy server values. |
void |
connect()
Establishes secure SSL connection to IMAP server. |
void |
disconnect()
Disconnects from IMAP server. |
int |
getConnectionType()
Gets the connection type for this session. |
void |
setClientCertificates(java.lang.String filename,
java.lang.String password)
Sets optional client certificate to be used during authentication. |
void |
setClientCertificates(java.lang.String filename,
java.lang.String password,
java.lang.String storetype)
Sets optional client certificate to be used during authentication. |
void |
setConnectionType(int mode)
Sets the connection type for this session. |
void |
setProxyAuthentication(java.lang.String proxyUsername,
java.lang.String proxyPassword)
Sets the username and password to use when for authentication with proxy server. |
void |
setProxyHost(java.lang.String proxyHostname,
int proxyPort)
Sets the proxy hostname and port for this connection. |
void |
setProxyType(java.lang.String proxyType)
Sets the proxy type will be used for this connection. |
void |
setServerCertificates(java.lang.String filename,
java.lang.String password)
Sets optional server certificate to be used during authentication. |
void |
setServerCertificates(java.lang.String filename,
java.lang.String password,
java.lang.String storetype)
Sets optional server certificate to be used during authentication. |
void |
setSSLContext(javax.net.ssl.SSLContext context)
Sets SSL context for this connection. |
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
public static final int IMPLICIT_SSL
setConnectionType(int),
STARTTLS,
Constant Field Valuespublic static final int STARTTLS
setConnectionType(int),
IMPLICIT_SSL,
Constant Field Valuespublic static final int DEFAULT_PORT
| Constructor Detail |
public ImapSsl(java.lang.String hostname,
java.lang.String username,
java.lang.String password)
hostname - the IMAP hostnameusername - the IMAP usernamepassword - the IMAP password
public ImapSsl(java.lang.String hostname,
int port,
java.lang.String username,
java.lang.String password)
hostname - the IMAP hostnameusername - the IMAP usernamepassword - the IMAP passwordport - the IMAP SSL port| Method Detail |
public void setClientCertificates(java.lang.String filename,
java.lang.String password)
keytool utility provided in the Sun JDK.
Example:
keytool.exe -import -file x509.cer -keystore your_store_name
The example above imports the certificate x509.cer into a keystore named your_store_name
filename - the keystore file containing the client certificatepassword - the keystore password
public void setClientCertificates(java.lang.String filename,
java.lang.String password,
java.lang.String storetype)
keytool utility provided in the Sun JDK.
Example:
keytool.exe -import -file x509.cer -keystore your_store_name
The example above imports the certificate x509.cer into a keystore named your_store_name
filename - the keystore file containing the client certificatepassword - the keystore passwordstoretype - the keystore type valid values include jks and pkcs12public void setConnectionType(int mode)
mode - a valid connection typeIMPLICIT_SSL,
STARTTLSpublic int getConnectionType()
IMPLICIT_SSL,
STARTTLSpublic void setSSLContext(javax.net.ssl.SSLContext context)
context - an SSLContext instanceSSLContext
public void setServerCertificates(java.lang.String filename,
java.lang.String password)
keytool utility provided in the Sun JDK.
Example:
keytool.exe -import -file x509.cer -keystore your_store_name
The example above imports the certificate x509.cer into a keystore named your_store_name
filename - the keystore file containing the server certificatepassword - the keystore password
public void setServerCertificates(java.lang.String filename,
java.lang.String password,
java.lang.String storetype)
keytool utility provided in the Sun JDK.
Example:
keytool.exe -import -file x509.cer -keystore your_store_name
The example above imports the certificate x509.cer into a keystore named your_store_name
filename - the keystore file containing the server certificatepassword - the keystore passwordstoretype - the keystore type valid values include jks and pkcs12
public void setProxyAuthentication(java.lang.String proxyUsername,
java.lang.String proxyPassword)
#clearProxySettings method.
setProxyAuthentication in class ImapproxyUsername - the proxy usernameproxyPassword - the proxy passwordclearProxySettings()
public void setProxyHost(java.lang.String proxyHostname,
int proxyPort)
#clearProxySettings method.
setProxyHost in class ImapproxyHostname - the hostname or ip address of the proxy serverproxyPort - the port of the proxy serverclearProxySettings()public void setProxyType(java.lang.String proxyType)
setProxyType in class ImapproxyType - The proxy type. Valid values: HTTP, SOCKS5public void clearProxySettings()
clearProxySettings in class Imap
public void connect()
throws ImapException
connect in class ImapImapException - if I/O or IMAP related error occurs
public void disconnect()
throws ImapException
disconnect in class ImapImapException - if I/O or IMAP related error occursImap.connect()
|
Secure iNet Factory | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||