org.springframework.mail

## Class MailSendException

- java.lang.Object
- - java.lang.Throwable
  - - java.lang.Exception
    - - java.lang.RuntimeException
      - - org.springframework.core.NestedRuntimeException
        - - org.springframework.mail.MailException
          - - org.springframework.mail.MailSendException

- All Implemented Interfaces:
    Serializable

      public class MailSendException
      extends MailException

  Exception thrown when a mail sending error is encountered. Can register failed messages with their exceptions.
  Author:
    Dmitriy Kopylenko, Juergen Hoeller
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `MailSendException(Map<Object,Exception> failedMessages)` Constructor for registration of failed messages, with the messages that failed as keys, and the thrown exceptions as values.
    `MailSendException(String msg)` Constructor for MailSendException.
    `MailSendException(String msg, Throwable cause)` Constructor for MailSendException.
    `MailSendException(String msg, Throwable cause, Map<Object,Exception> failedMessages)` Constructor for registration of failed messages, with the messages that failed as keys, and the thrown exceptions as values.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Map<Object,Exception>` | `getFailedMessages()` Return a Map with the failed messages as keys, and the thrown exceptions as values.
    `String` | `getMessage()` Return the detail message, including the message from the nested exception if there is one.
    `Exception[]` | `getMessageExceptions()` Return an array with thrown message exceptions.
    `void` | `printStackTrace(PrintStream ps)`
    `void` | `printStackTrace(PrintWriter pw)`
    `String` | `toString()`

    - ### Methods inherited from class org.springframework.core.NestedRuntimeException

      `contains, getMostSpecificCause, getRootCause`

    - ### Methods inherited from class java.lang.Throwable

      `addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, setStackTrace`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### MailSendException

          public MailSendException(String msg)

      Constructor for MailSendException.
      Parameters:
        `msg` - the detail message

    - #### MailSendException

          public MailSendException(String msg,
                           Throwable cause)

      Constructor for MailSendException.
      Parameters:
        `msg` - the detail message
        `cause` - the root cause from the mail API in use

    - #### MailSendException

          public MailSendException(String msg,
                           Throwable cause,
                           Map<Object,Exception> failedMessages)

      Constructor for registration of failed messages, with the messages that failed as keys, and the thrown exceptions as values.

      The messages should be the same that were originally passed to the invoked send method.

      Parameters:
        `msg` - the detail message
        `cause` - the root cause from the mail API in use
        `failedMessages` - Map of failed messages as keys and thrown exceptions as values

    - #### MailSendException

          public MailSendException(Map<Object,Exception> failedMessages)

      Constructor for registration of failed messages, with the messages that failed as keys, and the thrown exceptions as values.

      The messages should be the same that were originally passed to the invoked send method.

      Parameters:
        `failedMessages` - Map of failed messages as keys and thrown exceptions as values

  - ### Method Detail

    - #### getFailedMessages

          public final Map<Object,Exception> getFailedMessages()

      Return a Map with the failed messages as keys, and the thrown exceptions as values.

      Note that a general mail server connection failure will not result in failed messages being returned here: A message will only be contained here if actually sending it was attempted but failed.

      The messages will be the same that were originally passed to the invoked send method, that is, SimpleMailMessages in case of using the generic MailSender interface.

      In case of sending MimeMessage instances via JavaMailSender, the messages will be of type MimeMessage.

      NOTE: This Map will not be available after serialization. Use `getMessageExceptions()` in such a scenario, which will be available after serialization as well.

      Returns:
        the Map of failed messages as keys and thrown exceptions as values
      See Also:
        `SimpleMailMessage`, `MimeMessage`

    - #### getMessageExceptions

          public final Exception[] getMessageExceptions()

      Return an array with thrown message exceptions.

      Note that a general mail server connection failure will not result in failed messages being returned here: A message will only be contained here if actually sending it was attempted but failed.

      Returns:
        the array of thrown message exceptions, or an empty array if no failed messages

    - #### getMessage

          public String getMessage()

      Description copied from class: `NestedRuntimeException`
      Return the detail message, including the message from the nested exception if there is one.
      Overrides:
        `getMessage` in class `NestedRuntimeException`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Throwable`

    - #### printStackTrace

          public void printStackTrace(PrintStream ps)

      Overrides:
        `printStackTrace` in class `Throwable`

    - #### printStackTrace

          public void printStackTrace(PrintWriter pw)

      Overrides:
        `printStackTrace` in class `Throwable`