Class 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:
  • 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:
    • 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()
      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