type=page
status=published
title=delete-javamail-resource
next=delete-jdbc-connection-pool.html
prev=delete-jacc-provider.html
~~~~~~

= delete-javamail-resource

[[delete-javamail-resource-1]][[GSRFM00087]][[delete-javamail-resource]]

== delete-javamail-resource

Removes a JavaMail session resource

[[sthref769]]

=== Synopsis

[source]
----
asadmin [asadmin-options] delete-javamail-resource [--help]
[--target target] jndi_name
----

[[sthref770]]

=== Description

The `delete-javamail-resource` subcommand removes the specified JavaMail
session resource. Ensure that you remove all references to this resource
before running this subcommand.

This subcommand is supported in remote mode only.

[[sthref771]]

=== 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.
`--target`::
  This option specifies the target from which you are deleting the
  JavaMail session resource. Valid values are:

  `server`;;
    Deletes the resource from the default server instance. This is the
    default value.
  `domain`;;
    Deletes the resource from the domain.
  cluster_name;;
    Deletes the resource from every server instance in the cluster.
  instance_name;;
    Deletes the resource from a particular server instance.

[[sthref772]]

=== Operands

jndi_name::
  The JNDI name of the JavaMail session resource to be deleted.

[[sthref773]]

=== Examples

[[GSRFM555]][[sthref774]]

==== Example 1   Deleting a JavaMail Resource

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

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

[[sthref775]]

=== Exit Status

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

[[sthref776]]

=== See Also

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

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


