type=page
status=published
title=list-javamail-resources
next=list-jdbc-connection-pools.html
prev=list-jacc-providers.html
~~~~~~

list-javamail-resources
=======================

[[list-javamail-resources-1]][[GSRFM00172]][[list-javamail-resources]]

list-javamail-resources
-----------------------

Lists the existing JavaMail session resources

[[sthref1536]]

=== Synopsis

[source]
----
asadmin [asadmin-options] list-javamail-resources [--help]
[target]
----

[[sthref1537]]

=== Description

The `list-javamail-resources` subcommand lists the existing JavaMail
session resources.

This subcommand is supported in remote mode only.

[[sthref1538]]

=== Options

asadmin-options::
  Options for the `asadmin` utility. For information about these
  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
`--help`::
`-?`::
  Displays the help text for the subcommand.

[[sthref1539]]

=== Operands

target::
  This operand specifies the target for which the JavaMail session
  resources are to be listed. Valid values are:

  `server`;;
    Lists the resources for the default server instance. This is the
    default value.
  `domain`;;
    Lists the resources for the domain.
  cluster_name;;
    Lists the resources for the specified cluster.
  instance_name;;
    Lists the resources for a particular server instance.

[[sthref1540]]

=== Examples

[[GSRFM669]][[sthref1541]]

==== Example 1   Listing JavaMail Resources

This example lists the JavaMail session resources for the server
instance.

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

[[sthref1542]]

=== Exit Status

0::
  subcommand executed successfully
1::
  error in executing the subcommand

[[sthref1543]]

=== See Also

link:asadmin.html#asadmin-1m[`asadmin`(1M)]

link:create-javamail-resource.html#create-javamail-resource-1[`create-javamail-resource`(1)],
link:delete-javamail-resource.html#delete-javamail-resource-1[`delete-javamail-resource`(1)]


