24/29

# 16 Administering the JavaMail Service

GlassFish Server includes the JavaMail API along with JavaMail service providers that allow an application component to send email notifications over the Internet and to read email from IMAP and POP3 mail servers.

The following topics are addressed here:

- About JavaMail

- Administering JavaMail Resources

Instructions for accomplishing the tasks in this chapter by using the Administration Console are contained in the Administration Console online help.

## About JavaMail

The JavaMail API is a set of abstract APIs that model a mail system. The JavaMail API provides a platform-independent and protocol-independent framework to build mail and messaging applications and provide facilities for reading and sending electronic messages. Service providers implement particular protocols. Using the API you can add email capabilities to your applications. JavaMail provides access from Java applications to Internet Message Access Protocol (IMAP) and Simple Mail Transfer Protocol (SMTP) capable mail servers on your network or the Internet. The API does not provide mail server functionality; you must have access to a mail server to use JavaMail.

The JavaMail API is implemented as an optional package in the Java platform and is also available as part of the Java EE platform.

To learn more about the JavaMail API, consult the JavaMail web site.

## Administering JavaMail Resources

When you create a mail session, the server-side components and applications are enabled to access JavaMail services with JNDI, using the session properties you assign for them. When creating a mail session, you can designate the mail hosts, the transport and store protocols, and the default mail user so that components that use JavaMail do not have to set these properties. Applications that are heavy email users benefit because GlassFish Server creates a single session object and makes the session available to any component that needs it.

JavaMail settings such as the following can be specified:

- JNDI Name. The unique name for the mail session. Use the naming sub-context prefix mail/ for JavaMail resources. For example: `mail/MySession`

- Mail Host. The host name of the default mail server. The connect methods of the store and transport objects use this value if a protocol-specific host property is not supplied. The name must be resolvable to an actual host name.

- Default User. The default user name to provide when connecting to a mail server. The connect methods of the store and transport objects use this value if a protocol-specific username property is not supplied.

- Default Return Address. The email address of the default user, in the form: username@host.domain.

- Description. A descriptive statement for the component.

- Session. Indicates whether or not mail session is enabled or disabled at this time

The following topics are addressed here:

- To Create a JavaMail Resource

- To List JavaMail Resources

- To Update a JavaMail Resource

- To Delete a JavaMail Resource

### To Create a JavaMail Resource

Use the `create-javamail-resource` subcommand in remote mode to create a JavaMail session resource. The JNDI name for a JavaMail session resource customarily includes the mail/ naming subcontext, For example: `mail/MyMailSession.`

1. Ensure that the server is running.

   Remote subcommands require a running server.

2. Create a JavaMail resource by using the `create-javamail-resource` subcommand.

   Information about the properties for the subcommand is included in this help page.

3. To apply your changes, restart GlassFish Server.

   See To Restart a Domain.

Example 16-1 Creating a JavaMail Resource

This example creates a JavaMail resource named `mail/MyMailSession`. The escape character (\) is used in the `--fromaddress` option to distinguish the dot (.) and at sign (@).

    asadmin> create-javamail-resource --mailhost localhost
    --mailuser sample --fromaddress sample\@sun\.com mail/MyMailSession
    Command create-javamail-resource executed successfully.

See Also

You can also view the full syntax and options of the subcommand by typing `asadmin help create-javamail-resource` at the command line.

### To List JavaMail Resources

Use the `list-javamail-resources` subcommand in remote mode to list the existing JavaMail session resources.

1. Ensure that the server is running.

   Remote subcommands require a running server.

2. List the JavaMail resources by using the `list-javamail-resources` subcommand.

Example 16-2 Listing JavaMail Resources

This example lists the JavaMail resources on `localhost`.

    asadmin> list-javamail-resources
    mail/MyMailSession
    Command list-javamail-resources executed successfuly.

See Also

You can also view the full syntax and options of the subcommands by typing `asadmin help list-javamail-resources` at the command line.

### To Update a JavaMail Resource

1. List the JavaMail resources by using the `list-javamail-resources` subcommand.

2. Modify the values for the specified JavaMail source by using the `set` subcommand.

   The resource is identified by its dotted name.

Example 16-3 Updating a JavaMail Resource

This example changes `joeserver` to `joe`.

    asadmin> set server.resources.mail-resource.mail/
    MyMailSession.user=joeserver.resources.mail-resource.mail/
    MyMailSession.user=joe
    Command set executed successfully.

### To Delete a JavaMail Resource

Use the `delete-javamail-resource` subcommands in remote mode to delete a JavaMail session resource.

Before You Begin

References to the specified resource must be removed before running the `delete-javamail-resource` subcommands.

1. Ensure that the server is running.

   Remote subcommands require a running server.

2. List the JavaMail resources by using the `list-javamail-resources` subcommands.

3. Delete a JavaMail resource by using the `delete-javamail-resource` subcommands.

4. To apply your changes, restart GlassFish Server.

   See To Restart a Domain.

Example 16-4 Deleting a JavaMail Resource

This example deletes the JavaMail session resource named `mail/MyMailSession`.

    asadmin> delete-javamail-resource mail/MyMailSession
    Command delete-javamail-resource executed successfully.

See Also

You can also view the full syntax and options of the subcommand by typing `asadmin help delete-javamail-resource` at the command line.