Class MailUtils


  • public final class MailUtils
    extends java.lang.Object
    Helper class, contains some utility methods.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static boolean compareSentAndReceivedEmailContents​(jakarta.mail.internet.MimeMessage sent, Email received)
      This method compares the Content of a sent and received email.
      static boolean compareSentAndReceivedEmailContents​(jakarta.mail.internet.MimeMessage sent, jakarta.mail.Message received)
      This method compares the Content of a sent and received email.
      static boolean compareSentAndReceivedEmailHeaders​(jakarta.mail.Message sent, jakarta.mail.Message received)
      Compares the header of two emails.
      static jakarta.mail.internet.MimeMessage decryptMessageWithKeystore​(jakarta.mail.internet.MimeMessage message, jakarta.mail.Session mailSession, java.lang.String keyfile, java.lang.String password)
      Decrypt message from keystore.
      static java.lang.String encodeBase64​(java.lang.String password)
      Encodes the String as base64.
      static void encryptAndSaveEmail​(jakarta.mail.internet.MimeMessage message, jakarta.mail.Session mailsession, java.lang.String keyfile, java.lang.String password, java.lang.String filename)
      Encrypts the message with keystore and saves them to storage.
      static void encryptAndSaveEmail​(jakarta.mail.internet.MimeMessage message, java.lang.String filename, java.lang.String certfile)
      Encrypts the message with certification file and saves them to storage.
      static jakarta.mail.internet.MimeMessage encryptMessageWithCert​(jakarta.mail.internet.MimeMessage message, jakarta.mail.Session mailSession, java.lang.String certFile)
      Encrypt a MimeMessage with certification file.
      static jakarta.mail.internet.MimeMessage encryptMessageWithKeystore​(jakarta.mail.internet.MimeMessage message, jakarta.mail.Session mailSession, java.lang.String keyfile, java.lang.String password)
      Encrypts the message with keystore.
      static java.lang.String[] getEmailHeaders​(jakarta.mail.internet.MimeMessage message)
      Get Email headers (as String[]) from a mime message.
      static jakarta.mail.internet.MimeMessage loadEmail​(java.io.InputStream inputStream)
      Loads an email with InputStream.
      static jakarta.mail.internet.MimeMessage loadEmailFile​(java.lang.String filename)
      Load an email file.
      static void saveEmail​(Email message, java.lang.String filename)
      Saves an email to file.
      static void saveEmail​(jakarta.mail.Message message, java.lang.String filename)
      Saves an email to file.
      static jakarta.mail.internet.MimeMessage setMimeMessageHeaders​(jakarta.mail.internet.MimeMessage message, java.lang.String subject, jakarta.mail.Address[] fromAddresses, java.lang.String sender, jakarta.mail.Address[] toAddresses, jakarta.mail.Address[] ccAddresses, jakarta.mail.Address[] bccAddresses)
      Sets the header for the message.
      static jakarta.mail.internet.MimeMessage signMessageWithKeystore​(jakarta.mail.internet.MimeMessage message, jakarta.mail.Session mailSession, java.lang.String keyfile, java.lang.String password)
      Signs a message with keystore.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • encodeBase64

        public static java.lang.String encodeBase64​(java.lang.String password)
        Encodes the String as base64.
        Parameters:
        password - The String to encode.
        Returns:
        The encoded String.
      • compareSentAndReceivedEmailContents

        public static boolean compareSentAndReceivedEmailContents​(jakarta.mail.internet.MimeMessage sent,
                                                                  Email received)
        This method compares the Content of a sent and received email. It will be differ between an instance of BASE64DecoderStream, MimeMultipart and String which is processed differently.
        Parameters:
        sent - The sent message.
        received - The received message.
        Returns:
        FALSE if the Content is not equal, the Content Types differs or the Content cannot be read.
      • compareSentAndReceivedEmailContents

        public static boolean compareSentAndReceivedEmailContents​(jakarta.mail.internet.MimeMessage sent,
                                                                  jakarta.mail.Message received)
        This method compares the Content of a sent and received email. It will be differ between an instance of BASE64DecoderStream, MimeMultipart and String which is processed differently.
        Parameters:
        sent - The sent message.
        received - The received message.
        Returns:
        FALSE if the Content is not equal, the Content Types differs or the Content cannot be read.
      • compareSentAndReceivedEmailHeaders

        public static boolean compareSentAndReceivedEmailHeaders​(jakarta.mail.Message sent,
                                                                 jakarta.mail.Message received)
        Compares the header of two emails.
        Parameters:
        sent - The sent message.
        received - The received message.
        Returns:
        True if Headers match, else false.
      • loadEmailFile

        public static jakarta.mail.internet.MimeMessage loadEmailFile​(java.lang.String filename)
        Load an email file.
        Parameters:
        filename - The path to the file to load.
        Returns:
        The loaded MimeMessage.
      • saveEmail

        public static void saveEmail​(jakarta.mail.Message message,
                                     java.lang.String filename)
        Saves an email to file.
        Parameters:
        message - The message to save.
        filename - The path to write the message.
      • saveEmail

        public static void saveEmail​(Email message,
                                     java.lang.String filename)
        Saves an email to file.
        Parameters:
        message - TesterraMail The message to save.
        filename - The path to write the message.
      • loadEmail

        public static jakarta.mail.internet.MimeMessage loadEmail​(java.io.InputStream inputStream)
        Loads an email with InputStream.
        Parameters:
        inputStream - The InputStream to load the email.
        Returns:
        The loaded message.
      • encryptMessageWithCert

        public static jakarta.mail.internet.MimeMessage encryptMessageWithCert​(jakarta.mail.internet.MimeMessage message,
                                                                               jakarta.mail.Session mailSession,
                                                                               java.lang.String certFile)
        Encrypt a MimeMessage with certification file.
        Parameters:
        message - The message to encrypt.
        mailSession - The session for the message.
        certFile - The path to certification file.
        Returns:
        The encrypted MimeMessage.
      • encryptAndSaveEmail

        public static void encryptAndSaveEmail​(jakarta.mail.internet.MimeMessage message,
                                               java.lang.String filename,
                                               java.lang.String certfile)
        Encrypts the message with certification file and saves them to storage.
        Parameters:
        message - The message to encrypt and save.
        filename - The path to file, where message should be stored.
        certfile - The path to certfile to encrypt the message.
      • encryptMessageWithKeystore

        public static jakarta.mail.internet.MimeMessage encryptMessageWithKeystore​(jakarta.mail.internet.MimeMessage message,
                                                                                   jakarta.mail.Session mailSession,
                                                                                   java.lang.String keyfile,
                                                                                   java.lang.String password)
        Encrypts the message with keystore.
        Parameters:
        message - The message to encrypt.
        mailSession - The session for the message.
        keyfile - The path to the keyfile.
        password - The password of the keyfile.
        Returns:
        The encrypted MimeMessage.
      • signMessageWithKeystore

        public static jakarta.mail.internet.MimeMessage signMessageWithKeystore​(jakarta.mail.internet.MimeMessage message,
                                                                                jakarta.mail.Session mailSession,
                                                                                java.lang.String keyfile,
                                                                                java.lang.String password)
        Signs a message with keystore.
        Parameters:
        message - The message to sign.
        mailSession - The session of the message.
        keyfile - The path to keystore file to sign the message.
        password - The keystore file password.
        Returns:
        The signed message.
      • decryptMessageWithKeystore

        public static jakarta.mail.internet.MimeMessage decryptMessageWithKeystore​(jakarta.mail.internet.MimeMessage message,
                                                                                   jakarta.mail.Session mailSession,
                                                                                   java.lang.String keyfile,
                                                                                   java.lang.String password)
        Decrypt message from keystore.
        Parameters:
        message - The message to decrypt.
        mailSession - The session of the message.
        keyfile - The path to the keystore file.
        password - The password of the keystore file.
        Returns:
        The decrypted message.
      • encryptAndSaveEmail

        public static void encryptAndSaveEmail​(jakarta.mail.internet.MimeMessage message,
                                               jakarta.mail.Session mailsession,
                                               java.lang.String keyfile,
                                               java.lang.String password,
                                               java.lang.String filename)
        Encrypts the message with keystore and saves them to storage.
        Parameters:
        message - The message.
        mailsession - The session.
        keyfile - The path to keystore file.
        password - The password for the keyfile.
        filename - The filename/path to save the message.
      • getEmailHeaders

        public static java.lang.String[] getEmailHeaders​(jakarta.mail.internet.MimeMessage message)
        Get Email headers (as String[]) from a mime message.
        Parameters:
        message - The message to get the headers.
        Returns:
        A string array containing the headers.
      • setMimeMessageHeaders

        public static jakarta.mail.internet.MimeMessage setMimeMessageHeaders​(jakarta.mail.internet.MimeMessage message,
                                                                              java.lang.String subject,
                                                                              jakarta.mail.Address[] fromAddresses,
                                                                              java.lang.String sender,
                                                                              jakarta.mail.Address[] toAddresses,
                                                                              jakarta.mail.Address[] ccAddresses,
                                                                              jakarta.mail.Address[] bccAddresses)
        Sets the header for the message.
        Parameters:
        message - The message to set the header.
        subject - The subject to set.
        fromAddresses - The FROM Address/Addresses.
        sender - The sender value.
        toAddresses - The TO Address/Addresses.
        ccAddresses - The CC Address/Addresses.
        bccAddresses - The BCC Address/Addresses.
        Returns:
        The message set with headers.