Class DefaultEmailService

  • All Implemented Interfaces:
    EmailService

    public class DefaultEmailService
    extends java.lang.Object
    implements EmailService
    Service to create and send emails.
    • Field Detail

      • EMAIL_BODY_ENCODING

        @Deprecated(since="6.7")
        public static final java.lang.String EMAIL_BODY_ENCODING
        Deprecated.
        As of release 6.7, replaced by StandardCharsets.UTF_8
        See Also:
        Constant Field Values
      • EMAILSERVICE_SEND_ENABLED_CONFIG_KEY

        public static final java.lang.String EMAILSERVICE_SEND_ENABLED_CONFIG_KEY
        See Also:
        Constant Field Values
      • EMAIL_BODY_MAX_LENGTH_KEY

        public static final java.lang.String EMAIL_BODY_MAX_LENGTH_KEY
        See Also:
        Constant Field Values
      • EMAIL_BODY_MIME_TYPE

        public static final java.lang.String EMAIL_BODY_MIME_TYPE
        See Also:
        Constant Field Values
    • Constructor Detail

      • DefaultEmailService

        public DefaultEmailService()
    • Method Detail

      • getOrCreateEmailAddressForEmail

        public EmailAddressModel getOrCreateEmailAddressForEmail​(java.lang.String emailAddress,
                                                                 java.lang.String displayName)
        Description copied from interface: EmailService
        Returns a EmailAddressModel. Instance is found for the given email address and display name criteria. If there is no instance for this condition the new EmailAddressModel instance is returned based on the given criteria.
        Specified by:
        getOrCreateEmailAddressForEmail in interface EmailService
        Parameters:
        emailAddress - Email id
        displayName - Display name
        Returns:
        EmailAddress object
      • createEmailAttachment

        public EmailAttachmentModel createEmailAttachment​(java.io.DataInputStream masterDataStream,
                                                          java.lang.String filename,
                                                          java.lang.String mimeType)
        Description copied from interface: EmailService
        Creates an email attachment from an input stream.
        Specified by:
        createEmailAttachment in interface EmailService
        Parameters:
        masterDataStream - Input data stream
        filename - File name
        mimeType - Mime type
        Returns:
        EmailAttachment object
      • getEmailAttachmentsMediaFolder

        protected MediaFolderModel getEmailAttachmentsMediaFolder()
      • getEmailBodyMediaFolder

        protected MediaFolderModel getEmailBodyMediaFolder()
      • createEmailMessage

        public EmailMessageModel createEmailMessage​(java.util.List<EmailAddressModel> toAddresses,
                                                    java.util.List<EmailAddressModel> ccAddresses,
                                                    java.util.List<EmailAddressModel> bccAddresses,
                                                    EmailAddressModel fromAddress,
                                                    java.lang.String replyToAddress,
                                                    java.lang.String subject,
                                                    java.lang.String body,
                                                    java.util.List<EmailAttachmentModel> attachments)
        Description copied from interface: EmailService
        Creates and EmailMessage object.
        Specified by:
        createEmailMessage in interface EmailService
        Parameters:
        toAddresses - List of To email addresses
        ccAddresses - List of CC email addresses
        bccAddresses - List of BCC email addresses
        fromAddress - From email address
        replyToAddress - Reply To email address
        subject - Subject of the email
        body - Contents of the email
        attachments - List of email attachments
        Returns:
        EmailMessage object
      • validateContent

        protected void validateContent​(java.lang.String subject,
                                       java.lang.String body)
      • createBodyMedia

        protected MediaModel createBodyMedia​(java.lang.String bodyMediaName,
                                             java.lang.String body)
        Method creates MediaModel object for storing email body
        Parameters:
        bodyMediaName - - name for created object
        body - - content of email body
        Returns:
        created MediaModel object
      • validateEmailAddress

        protected void validateEmailAddress​(java.lang.String address,
                                            java.lang.String type)
      • send

        public boolean send​(EmailMessageModel message)
        Description copied from interface: EmailService
        Sends an email
        Specified by:
        send in interface EmailService
        Parameters:
        message - EmailMessage
        Returns:
        true if successful
      • addReplyTo

        protected void addReplyTo​(EmailMessageModel message,
                                  org.apache.commons.mail.HtmlEmail email)
                           throws org.apache.commons.mail.EmailException
        Throws:
        org.apache.commons.mail.EmailException
      • logInfo

        protected void logInfo​(EmailMessageModel message,
                               org.apache.commons.mail.EmailException e)
      • processAttachmentsSuccessful

        protected boolean processAttachmentsSuccessful​(org.apache.commons.mail.HtmlEmail email,
                                                       java.util.List<EmailAttachmentModel> attachments)
      • setAddresses

        protected void setAddresses​(EmailMessageModel message,
                                    org.apache.commons.mail.HtmlEmail email,
                                    java.util.List<EmailAddressModel> toAddresses)
                             throws org.apache.commons.mail.EmailException
        Throws:
        org.apache.commons.mail.EmailException
      • getPerConfiguredEmail

        protected org.apache.commons.mail.HtmlEmail getPerConfiguredEmail()
                                                                   throws org.apache.commons.mail.EmailException
        Throws:
        org.apache.commons.mail.EmailException
      • getBody

        protected java.lang.String getBody​(EmailMessageModel message)
        Method checks which attribute is storing email body (bodyMedia or body) and return its content as string
        Parameters:
        message - - email message object
        Returns:
        email body
      • nullifyEmpty

        protected java.lang.String nullifyEmpty​(java.lang.String str)
      • getAddresses

        protected java.util.Collection<javax.mail.internet.InternetAddress> getAddresses​(java.util.List<EmailAddressModel> emailAddresses)
      • createInternetAddress

        protected javax.mail.internet.InternetAddress createInternetAddress​(java.lang.String emailAddress,
                                                                            java.lang.String displayName)
                                                                     throws org.apache.commons.mail.EmailException
        Throws:
        org.apache.commons.mail.EmailException
      • convertToStrings

        protected java.util.List<java.lang.String> convertToStrings​(java.util.List<EmailAddressModel> addresses)
      • logDebugException

        protected void logDebugException​(java.lang.Exception e)
      • setEmailAddressFetchStrategy

        public void setEmailAddressFetchStrategy​(EmailAddressFetchStrategy emailAddressFetchStrategy)
      • getEmailAttachmentsMediaFolderName

        protected java.lang.String getEmailAttachmentsMediaFolderName()
      • setEmailAttachmentsMediaFolderName

        public void setEmailAttachmentsMediaFolderName​(java.lang.String emailAttachmentsMediaFolderName)
      • getEmailBodyMediaFolderName

        protected java.lang.String getEmailBodyMediaFolderName()
      • setEmailBodyMediaFolderName

        public void setEmailBodyMediaFolderName​(java.lang.String emailBodyMediaFolderName)
      • getModelService

        protected ModelService getModelService()
      • setModelService

        public void setModelService​(ModelService modelService)
      • getMediaService

        protected MediaService getMediaService()
      • setMediaService

        public void setMediaService​(MediaService mediaService)
      • setConfigurationService

        public void setConfigurationService​(ConfigurationService configurationService)
      • setCatalogVersionService

        public void setCatalogVersionService​(CatalogVersionService catalogVersionService)
      • setCatalogService

        public void setCatalogService​(CatalogService catalogService)