Class MultiPartEmail

java.lang.Object
org.apache.commons.mail2.javax.Email
org.apache.commons.mail2.javax.MultiPartEmail
Direct Known Subclasses:
HtmlEmail

public class MultiPartEmail extends Email
A multipart email.

This class is used to send multi-part internet email like messages with attachments.

To create a multi-part email, call the default constructor and then you can call setMsg() to set the message and call the different attach() methods.

Since:
1.0
  • Constructor Details

  • Method Details

    • addPart

      public Email addPart(MimeMultipart multipart) throws EmailException
      Adds a new part to the email.
      Parameters:
      multipart - The MimeMultipart.
      Returns:
      An Email.
      Throws:
      EmailException - see javax.mail.internet.MimeBodyPart for definitions
      Since:
      1.0
    • addPart

      public Email addPart(MimeMultipart multipart, int index) throws EmailException
      Adds a new part to the email.
      Parameters:
      multipart - The part to add.
      index - The index to add at.
      Returns:
      The email.
      Throws:
      EmailException - An error occurred while adding the part.
      Since:
      1.0
    • addPart

      public Email addPart(String partContent, String partContentType) throws EmailException
      Adds a new part to the email.
      Parameters:
      partContent - The content.
      partContentType - The content type.
      Returns:
      An Email.
      Throws:
      EmailException - see javax.mail.internet.MimeBodyPart for definitions
      Since:
      1.0
    • attach

      public MultiPartEmail attach(DataSource dataSource, String name, String description) throws EmailException
      Attaches a file specified as a DataSource interface.
      Parameters:
      dataSource - A DataSource interface for the file.
      name - The name field for the attachment.
      description - A description for the attachment.
      Returns:
      A MultiPartEmail.
      Throws:
      EmailException - see javax.mail.internet.MimeBodyPart for definitions
      Since:
      1.0
    • attach

      public MultiPartEmail attach(DataSource dataSource, String name, String description, String disposition) throws EmailException
      Attaches a file specified as a DataSource interface.
      Parameters:
      dataSource - A DataSource interface for the file.
      name - The name field for the attachment.
      description - A description for the attachment.
      disposition - Either mixed or inline.
      Returns:
      A MultiPartEmail.
      Throws:
      EmailException - see javax.mail.internet.MimeBodyPart for definitions
      Since:
      1.0
    • attach

      Attaches an EmailAttachment.
      Parameters:
      attachment - An EmailAttachment.
      Returns:
      A MultiPartEmail.
      Throws:
      EmailException - see javax.mail.internet.MimeBodyPart for definitions
      Since:
      1.0
    • attach

      public MultiPartEmail attach(File file) throws EmailException
      Attaches a file.
      Parameters:
      file - A file attachment
      Returns:
      A MultiPartEmail.
      Throws:
      EmailException - see javax.mail.internet.MimeBodyPart for definitions
      Since:
      1.3
    • attach

      public MultiPartEmail attach(Path file, OpenOption... options) throws EmailException
      Attaches a path.
      Parameters:
      file - A file attachment.
      options - options for opening file streams.
      Returns:
      A MultiPartEmail.
      Throws:
      EmailException - see javax.mail.internet.MimeBodyPart for definitions
      Since:
      1.6.0
    • attach

      public MultiPartEmail attach(URL url, String name, String description) throws EmailException
      Attaches a file located by its URL. The disposition of the file is set to mixed.
      Parameters:
      url - The URL of the file (may be any valid URL).
      name - The name field for the attachment.
      description - A description for the attachment.
      Returns:
      A MultiPartEmail.
      Throws:
      EmailException - see javax.mail.internet.MimeBodyPart for definitions
      Since:
      1.0
    • attach

      public MultiPartEmail attach(URL url, String name, String description, String disposition) throws EmailException
      Attaches a file located by its URL.
      Parameters:
      url - The URL of the file (may be any valid URL).
      name - The name field for the attachment.
      description - A description for the attachment.
      disposition - Either mixed or inline.
      Returns:
      A MultiPartEmail.
      Throws:
      EmailException - see javax.mail.internet.MimeBodyPart for definitions
      Since:
      1.0
    • buildMimeMessage

      public void buildMimeMessage() throws EmailException
      Builds the MimeMessage. Please note that a user rarely calls this method directly and only if he/she is interested in the sending the underlying MimeMessage without commons-email.
      Overrides:
      buildMimeMessage in class Email
      Throws:
      EmailException - if there was an error.
      Since:
      1.0
    • createBodyPart

      protected BodyPart createBodyPart()
      Creates a body part object. Can be overridden if you don't want to create a BodyPart.
      Returns:
      the created body part
    • createMimeMultipart

      Creates a mime multipart object.
      Returns:
      the created mime part
    • getContainer

      Gets the message container.
      Returns:
      The message container.
      Since:
      1.0
    • getPrimaryBodyPart

      Gets first body part of the message.
      Returns:
      The primary body part.
      Throws:
      MessagingException - An error occurred while getting the primary body part.
      Since:
      1.0
    • getSubType

      public String getSubType()
      Gets the MIME subtype of the email.
      Returns:
      MIME subtype of the email
      Since:
      1.0
    • init

      protected void init()
      Initialize the multipart email.
      Since:
      1.0
    • isBoolHasAttachments

      public boolean isBoolHasAttachments()
      Tests whether there are attachments.
      Returns:
      true if there are attachments
      Since:
      1.0
    • isInitialized

      protected boolean isInitialized()
      Tests if this object is initialized.
      Returns:
      true if initialized
    • setBoolHasAttachments

      public void setBoolHasAttachments(boolean hasAttachments)
      Sets whether there are attachments.
      Parameters:
      hasAttachments - the attachments flag
      Since:
      1.0
    • setInitialized

      protected void setInitialized(boolean initialized)
      Sets the initialized status of this object.
      Parameters:
      initialized - the initialized status flag
    • setMsg

      public Email setMsg(String msg) throws EmailException
      Sets the message of the email.
      Specified by:
      setMsg in class Email
      Parameters:
      msg - A String.
      Returns:
      An Email.
      Throws:
      EmailException - see javax.mail.internet.MimeBodyPart for definitions
      Since:
      1.0
    • setSubType

      public void setSubType(String subType)
      Sets the MIME subtype of the email.
      Parameters:
      subType - MIME subtype of the email
      Since:
      1.0