|
Secure iNet Factory | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.jscape.inet.smtp.Smtp
com.jscape.inet.smtpssl.SmtpSsl
public class SmtpSsl
Implements the basic functionality of a secure SMTP client using SSL/TLS. Client supports both implicit SSL/TLS on port 465 (default) and explicit SSL/TLS using STARTTLS command on port 25.
Example Usage (implicit SSL/TLS):
// create new instance SmtpSsl smtp = new SmtpSsl("smtp.myserver.com",465); // address the message EmailMessage message = new EmailMessage(); message.setTo("mjones@myserver.com"); message.setFrom("jsmith@myserver.com"); message.setSubject("Meeting today at 8"); message setBody("see you then"); // connect, send the message, disconnect try { smtp.connect(); smtp.send(message); smtp.disconnect(); } catch(Exception e) { System.out.println(e); }
Example Usage (explicit SSL/TLS using STARTTLS command):
// create new instance SmtpSsl smtp = new SmtpSsl("smtp.myserver.com",25); smtp.setConnectionType(SmtpSsl.STARTTLS); // address the message EmailMessage message = new EmailMessage(); message.setTo("mjones@myserver.com"); message.setFrom("jsmith@myserver.com"); message.setSubject("Meeting today at 8"); message setBody("see you then"); // connect, send the message, disconnect try { smtp.connect(); smtp.send(message); smtp.disconnect(); } catch(Exception e) { System.out.println(e); }
Field Summary | |
---|---|
static int |
DEFAULT_PORT
The default port to connect to for secure SMTP over SSL connections. |
static int |
IMPLICIT_SSL
Connection type for implicit SSL/TLS connections on port 465. |
static int |
STARTTLS
Connection type for explicit SSL/TLS connections using STARTTLS command on port 25. |
Fields inherited from class com.jscape.inet.smtp.Smtp |
---|
AUTH_CRAM_MD5, AUTH_LOGIN |
Constructor Summary | |
---|---|
SmtpSsl(java.lang.String hostname)
Constructs new SmtpSsl instance. |
|
SmtpSsl(java.lang.String hostname,
int port)
Constructs new SmtpSsl instance. |
Method Summary | |
---|---|
void |
clearProxySettings()
Clears proxy server values. |
void |
connect()
Securely connects to SMTP server using SSL. |
void |
disconnect()
Disconnects from SMTP 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 com.jscape.inet.smtp.Smtp |
---|
addSmtpListener, getConnectTimeout, getDebugStream, getHostname, getPort, getReadTimeout, getTimeout, isConnected, isDebug, issueCommand, login, login, main, removeSmtpListener, send, send, send, setConnectTimeout, setDebug, setDebugStream, setHeloAddress, setHostname, setPort, setReadTimeout, setTimeout |
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 SmtpSsl(java.lang.String hostname)
hostname
- the SMTP server hostnamepublic SmtpSsl(java.lang.String hostname, int port)
hostname
- the SMTP server hostnameport
- the SMTP SSL server portMethod 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 passwordpublic 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
,
STARTTLS
public int getConnectionType()
IMPLICIT_SSL
,
STARTTLS
public 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 passwordpublic 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 pkcs12public void setProxyAuthentication(java.lang.String proxyUsername, java.lang.String proxyPassword)
#clearProxySettings
method.
setProxyAuthentication
in class Smtp
proxyUsername
- the proxy usernameproxyPassword
- the proxy passwordclearProxySettings()
public void setProxyHost(java.lang.String proxyHostname, int proxyPort)
#clearProxySettings
method.
setProxyHost
in class Smtp
proxyHostname
- 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 Smtp
proxyType
- The proxy type. Valid values: HTTP, SOCKS5public void clearProxySettings()
clearProxySettings
in class Smtp
public void connect() throws SmtpException
connect
in class Smtp
SmtpException
- thrown for I/O or SMTP related errorpublic void disconnect() throws SmtpException
disconnect
in class Smtp
SmtpException
- thrown to handle SMTP and I/O related errorsSmtpException
|
Secure iNet Factory | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |