Using JavaMail

Once you have configured a Mail Session and targeted it to the relevant servers, a client can access it simply by performing a JNDI lookup using its JNDI name. The session then can be used to send or retrieve email according to the JavaMail API. Suppose we have created a Mail Session that is bound in the JNDI under the name oreilly.mail. The following code sample shows how to access the configured Mail Session:

import javax.activation.*;
import javax.mail.*;
import javax.mail.internet.*
// ...

InitialContext ctx = new InitialContext( );
Session session = (Session) ctx.lookup("oreilly.mail");

If you need to change any of the default values assigned to the Mail Session, you can do so by populating a Properties object with the new property values, and then using that object to create a new Mail Session by calling the getInstance( ) method on the existing Session object:

Properties props = new Properties( );

// Place any number of property overrides into props 
props.put("mail.from", emailAddress);

// Create the new session from the old
Session otherSession = session.getInstance(props);

Of course, if you are happy with the default values for the Mail Session as specified in the Administration Console, there is no need to create a new session; just look up the preconfigured session.

Once you have obtained a session with the appropriate property values, you can use it to send and receive email. The following code sample shows how to use a Mail Session to send email:

Message msg ...

Get WebLogic: The Definitive Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.