|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--javax.mail.Session
The Session class represents a mail session and is not subclassed. It collects together properties and defaults used by the mail API's. A single default session can be shared by multiple applications on the desktop. Unshared sessions can also be created.
Method Summary | |
boolean |
getDebug()
Get the debug setting for this Session. |
static Session |
getDefaultInstance(java.util.Properties props,
Authenticator authenticator)
Get the default Session object. |
Folder |
getFolder(URLName url)
Get a closed Folder object for the given URLName. |
static Session |
getInstance(java.util.Properties props,
Authenticator authenticator)
Get a new Session object. |
PasswordAuthentication |
getPasswordAuthentication(URLName url)
Return any saved PasswordAuthentication for this (store or transport) URLName. |
java.util.Properties |
getProperties()
Returns the Properties object associated with this Session |
java.lang.String |
getProperty(java.lang.String name)
Returns the value of the specified property. |
Provider |
getProvider(java.lang.String protocol)
Returns the default Provider for the protocol specified. |
Provider[] |
getProviders()
This method returns an array of all the implementations installed via the javamail.[default.]providers files that can be loaded using the ClassLoader available to this application. |
Store |
getStore()
Get a Store object that implements this user's desired Store protcol. |
Store |
getStore(Provider provider)
Get an instance of the store specified by Provider. |
Store |
getStore(java.lang.String protocol)
Get a Store object that implements the specified protocol. |
Store |
getStore(URLName url)
Get a Store object for the given URLName. |
Transport |
getTransport()
Get a Transport object that implements this user's desired Transport protcol. |
Transport |
getTransport(Address address)
Get a Transport object that can transport a Message to the specified address type. |
Transport |
getTransport(Provider provider)
Get an instance of the transport specified in the Provider. |
Transport |
getTransport(java.lang.String protocol)
Get a Transport object that implements the specified protocol. |
Transport |
getTransport(URLName url)
Get a Transport object for the given URLName. |
PasswordAuthentication |
requestPasswordAuthentication(java.net.InetAddress addr,
int port,
java.lang.String protocol,
java.lang.String prompt,
java.lang.String defaultUserName)
Call back to the application to get the needed user name and password. |
void |
setDebug(boolean debug)
Set the debug setting for this Session. |
void |
setPasswordAuthentication(URLName url,
PasswordAuthentication pw)
Save a PasswordAuthentication for this (store or transport) URLName. |
void |
setProvider(Provider provider)
Set the passed Provider to be the default implementation for the protocol in Provider.protocol overriding any previous values. |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
Method Detail |
public static Session getInstance(java.util.Properties props, Authenticator authenticator)
props
- Properties object that hold relevant properties.authenticator
- Authenticator object used to call back to
the application when a user name and password is
needed.Authenticator
public static Session getDefaultInstance(java.util.Properties props, Authenticator authenticator)
Since the default session is potentially available to all code executing in the same Java virtual machine, and the session can contain security sensitive information such as user names and passwords, access to the default session is restricted. The Authenticator object, which must be created by the caller, is used indirectly to check access permission. The Authenticator object passed in when the session is created is compared with the Authenticator object passed in to subsequent requests to get the default session. If both objects are the same, or are from the same ClassLoader, the request is allowed. Otherwise, it is denied.
Note that if the Authenticator object used to create the session is null, anyone can get the default session by passing in null.
In JDK 1.2, additional security Permission objects may be used to control access to the default session.
props
- Properties object. Used only if a new Session
object is created.authenticator
- Authenticator object. Used only if a
new Session object is created. Otherwise,
it must match the Authenticator used to create
the Session.public void setDebug(boolean debug)
Since debug can be turned on only after the Session
has been created, to turn on debugging in the Session
constructor, set the property mail.debug
to true. Subsequent calls to get/setDebug() have no
affect on and override the mail.debug
property.
debug
- Debug settingpublic boolean getDebug()
Since debug can be turned on only after the Session
has been created, to turn on debugging in the Session
constructor, set the property mail.debug
to true. Subsequent calls to get/setDebug() have no
affect on and override the mail.debug
property.
public Provider[] getProviders()
public Provider getProvider(java.lang.String protocol) throws NoSuchProviderException
protocol
- Configured protocol (i.e. smtp, imap, etc)public void setProvider(Provider provider) throws NoSuchProviderException
provider
- Currently configured Provider which will be
set as the default for the protocolpublic Store getStore() throws NoSuchProviderException
public Store getStore(java.lang.String protocol) throws NoSuchProviderException
protocol
- public Store getStore(URLName url) throws NoSuchProviderException
url
- URLName that represents the desired StoregetFolder(URLName)
,
URLName
public Store getStore(Provider provider) throws NoSuchProviderException
provider
- Store Provider that will be instantiatedpublic Folder getFolder(URLName url) throws MessagingException
The "scheme" part of the URL string (Refer RFC 1738) is used to locate the Store protocol. The rest of the URL string (ie the "schemepart", as per RFC 1738) is used by that Store in a protocol dependent manner to locate and instantiate the appropriate Folder object.
Note that RFC 1738 also specifies the syntax for the "schemepart" for IP-based protocols (IMAP4, POP3 etc). So providers of IP-based mail Stores should implement that syntax for referring to Folders.
url
- URLName that represents the desired foldergetStore(URLName)
,
URLName
public Transport getTransport() throws NoSuchProviderException
public Transport getTransport(java.lang.String protocol) throws NoSuchProviderException
public Transport getTransport(URLName url) throws NoSuchProviderException
url
- URLName that represents the desired TransportURLName
public Transport getTransport(Provider provider) throws NoSuchProviderException
provider
- Transport Provider that will be instantiatedpublic Transport getTransport(Address address) throws NoSuchProviderException
address
- Address
public void setPasswordAuthentication(URLName url, PasswordAuthentication pw)
This is normally used only by the store or transport implementations to allow authentication information to be shared among multiple uses of a session.
public PasswordAuthentication getPasswordAuthentication(URLName url)
public PasswordAuthentication requestPasswordAuthentication(java.net.InetAddress addr, int port, java.lang.String protocol, java.lang.String prompt, java.lang.String defaultUserName)
Connecting to <protocol> mail service on host <addr>, port <port>. <prompt> User Name: <defaultUserName> Password:
addr
- InetAddress of the host. may be null.protocol
- protocol scheme (e.g. imap, pop3, etc.)prompt
- any additional String to show as part of
the prompt; may be null.defaultUserName
- the default username. may be null.public java.util.Properties getProperties()
public java.lang.String getProperty(java.lang.String name)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |