Package 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
Description
`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.
`MailSendException(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

Modifier and Type
Method
Description
`final Map<Object,Exception>`
`getFailedMessages()`
Return a Map with the failed messages as keys, and the thrown exceptions as values.
`String`
`getMessage()`
`final 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 Details

### MailSendException

public MailSendException(String msg)
Constructor for MailSendException.

Parameters:
  `msg` - the detail message

### MailSendException

public MailSendException(String msg, @Nullable Throwable cause)
Constructor for MailSendException.

Parameters:
  `msg` - the detail message
  `cause` - the root cause from the mail API in use

### MailSendException

public MailSendException(@Nullable String msg, @Nullable 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` - a 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` - a Map of failed messages as keys and thrown exceptions as values

## Method Details

### 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

@Nullable public String getMessage()

Overrides:
  `getMessage` in class `Throwable`

### 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`