Class DefaultMailContext

java.lang.Object
de.xima.fc.mail.impl.context.DefaultMailContext
All Implemented Interfaces:
IMailContext
Direct Known Subclasses:
MSGraphMailContext, PasswordMailContext

public class DefaultMailContext extends Object implements IMailContext
Default implementation for sending mails via smtp
Author:
XIMA MEDIA GmbH, Dresden
  • Field Details

    • addressFilter

      protected Predicate<javax.mail.Address> addressFilter
    • serverData

      protected IMailServerData serverData
  • Method Details

    • getServerData

      public IMailServerData getServerData()
      Description copied from interface: IMailContext
      Gets the mail server data of the context
      Specified by:
      getServerData in interface IMailContext
      Returns:
      the server data
    • setAddressFilter

      public void setAddressFilter(Predicate<javax.mail.Address> addressFilter)
      Description copied from interface: IMailContext
      Sets an filter for excluding mail addresses during send
      Specified by:
      setAddressFilter in interface IMailContext
      Parameters:
      addressFilter - the address filter to set
    • buildAuthenticator

      protected javax.mail.Authenticator buildAuthenticator()
    • buildProperties

      protected Properties buildProperties()
    • sendWithReport

      public ISendMailReport sendWithReport(IBaseMailData mail) throws Exception
      Description copied from interface: IMailContext
      Sends a mail based on the given data
      Specified by:
      sendWithReport in interface IMailContext
      Parameters:
      mail - Data with the mail or mails to sent.
      Returns:
      Information about the mails that were actually sent.
      Throws:
      Exception - When the mail could not be sent, e.g. due to network errors or invalid mail addresses.
    • sendWithReport

      public ISendMailReport sendWithReport(IBaseMailData mail, Mandant client) throws Exception
      Description copied from interface: IMailContext
      Sends a mail based on the given data
      Specified by:
      sendWithReport in interface IMailContext
      Parameters:
      mail - Data with the mail or mails to sent.
      client - The client scope to use for placeholder replacements
      Returns:
      Information about the mails that were actually sent.
      Throws:
      Exception - When the mail could not be sent, e.g. due to network errors or invalid mail addresses.
    • archive

      public void archive(IBaseMailData mail, Mandant client, File file) throws Exception
      Description copied from interface: IMailContext
      Create an archived file of the mail.
      Specified by:
      archive in interface IMailContext
      Parameters:
      mail - Data of the email to send.
      client - The client to use for placeholder replacements.
      file - The file to write to.
      Throws:
      Exception - When the archive file could not be created.
    • buildAndSendMessage

      protected ISendMailReport buildAndSendMessage(IBaseMailData mail, Mandant client) throws Exception
      Throws:
      Exception
    • enforceSenderAddress

      protected final void enforceSenderAddress(javax.mail.internet.MimeMessage msg, Mandant client) throws javax.mail.MessagingException
      Throws:
      javax.mail.MessagingException
    • createMimeMessage

      protected javax.mail.internet.MimeMessage createMimeMessage(IBaseMailData mail, Mandant client) throws javax.mail.MessagingException
      Throws:
      javax.mail.MessagingException
    • createMimeMessage

      protected javax.mail.internet.MimeMessage createMimeMessage(javax.mail.Session session, IBaseMailData mail, Mandant client) throws javax.mail.MessagingException
      Throws:
      javax.mail.MessagingException
    • filterAddresses

      protected javax.mail.Address[] filterAddresses(javax.mail.Address[] addresses)
    • buildContent

      protected void buildContent(IBaseMailData mail, javax.mail.internet.MimeMessage msg, Mandant client) throws javax.mail.MessagingException
      Throws:
      javax.mail.MessagingException
    • buildBodyPart

      protected javax.mail.internet.MimeBodyPart buildBodyPart(BodyPartData body) throws Exception
      Throws:
      Exception
    • buildFilePart

      protected javax.mail.internet.MimeBodyPart buildFilePart(FilePartData file) throws Exception
      Throws:
      Exception