Download PDF Home History |  | API Search Feedback FAQ

> ## Mail Session Connections

> If you've ever ordered a product from a Web site, you've probably received an email confirming your order. The `ConfirmerBean` class demonstrates how to send email from an enterprise bean.

> Note: The source code for this example is in this directory: `<``INSTALL``>/j2eetutorial14/ejb/confirmer/src/`.

> In the `sendNotice` method of the `ConfirmerBean` class, the `lookup` method returns a `Session` object, which represents a mail session. Like a database connection, a mail session is a resource. In the Application Server, a mail session is called a JavaMail resource. As with any resource, you must link the coded name (`mail/TheMailSession`) with a JNDI name. Using the `Session` object as an argument, the `sendNotice` method creates an empty `Message` object. After calling several `set` methods on the `Message` object, `sendNotice` invokes the `send` method of the `Transport` class to send the message on its way. The source code for the `sendNotice` method follows.

>     public void sendNotice(String recipient) {

>        try {
>            Context initial = new InitialContext();
>            Session session =
>              (Session) initial.lookup(
>              "java:comp/env/mail/TheMailSession");

>            Message msg = new MimeMessage(session);
>            msg.setFrom();

>            msg.setRecipients(Message.RecipientType.TO,
>               InternetAddress.parse(recipient, false));

>            msg.setSubject("Test Message from ConfirmerBean");

>            DateFormat dateFormatter =
>              DateFormat.getDateTimeInstance(
>              DateFormat.LONG, DateFormat.SHORT);

>            Date timeStamp = new Date();

>            String messageText = "Thank you for your order." + '\n' +
>               "We received your order on " +
>               dateFormatter.format(timeStamp) + ".";

>            msg.setText(messageText);
>            msg.setHeader("X-Mailer", mailer);
>            msg.setSentDate(timeStamp);

>            Transport.send(msg);

>        } catch(Exception e) {
>            throw new EJBException(e.getMessage());
>        }
>     }

> ### Running the ConfirmerBean Example

> #### Creating a Mail Session

> To create a mail session in the Application Server using the Admin Console, follow these steps:

> 1. Open the URL `http://localhost:4848/asadmin` in a browser.
> 2. Select the JavaMail Sessions node.
> 3. Click New.
> 4. Type `mail/MySession` in the JNDI Name field.
> 5. Type the name of the host running your mail server in the Mail Host field.
> 6. Type the destination email address in the Default User field.
> 7. Type your email address in the Default Return Address field.
> 8. Click OK.
> 9. Note that `mail/MySession` is listed under the JavaMail Sessions node.

> #### Deploying the Application

> 1. In `deploytool`, open the `ConfirmerApp.ear` file, which resides in this directory:

> `<``INSTALL``>/j2eetutorial14/examples/ejb/provided-ears/`

> 2. Verify the resource reference.
> 1. In the tree, expand the `ConfirmerApp` node.
> 2. Select the `ConfirmerBean` node.
> 3. Select the Resource Ref's tab.
> 4. Note the JavaMail resource reference for`mail/TheMailSession`.
> 3. Verify the mapping of the reference to the JNDI name.
> 1. In the tree, select the `ConfirmerApp` node.
> 2. Click the Sun-specific Settings button.
> 3. Note the mapping of `mail/TheMailSession` (coded in `ConfirmerBean.java`) to `mail/MySession`.
> 4. Deploy the `ConfirmerApp` application.
> 5. In the Deploy Module dialog box, do the following:
> 1. Select the Return Client JAR checkbox.
> 2. In the field below the check box, enter the following:

> `<``INSTALL``>/j2eetutorial14/examples/ejb/confirmer`

> #### Running the Client

> To run the `SavingsAccountClient` program, do the following:

> 1. In a terminal window, go to this directory:

> `<``INSTALL``>/j2eetutorial14/examples/ejb/confirmer/`

> 2. Type the following command on a single line:

> `appclient -client ConfirmerAppClient.jar` `your_email_address`

> 3. The client should display the following lines:

> `...
> Sending email to...
> ...`

> To modify this example, see the instructions in Modifying the J2EE Application.

Download PDF Home History |  | API Search Feedback FAQ

All of the material in The J2EE(TM) 1.4 Tutorial is copyright-protected and may not be published in other works without express written permission from Sun Microsystems.