com.jalios.util
Class MailUtil

java.lang.Object
  extended by com.jalios.util.MailUtil

public final class MailUtil
extends Object

This class provides a set of static methods which perform various utility operations for JavaMail API.

Version:
$Revision: 68144 $
Author:
Olivier Dedieu , Olivier Jaquemet

Field Summary
static String[] BODYPART_ENCODINGS
          Predefined array of body part encoding.
static String BODYPART_TEXT_HTML_ENCODING
           
static String BODYPART_TEXT_PLAIN_ENCODING
           
protected static boolean enabled
           
static int PRIORITY_HIGH
           
static int PRIORITY_HIGHEST
           
static int PRIORITY_LOW
           
static int PRIORITY_LOWEST
           
static int PRIORITY_NORMAL
           
protected static Properties props
           
static String REVISION
           
protected static javax.mail.Session session
           
 
Method Summary
static javax.mail.Message buildMessage(String from, String recipients, String copies, String bcopies, String subject, String[] bodyPart, String[] bodyPartEncoding, Map<File,String> files, int priority)
          Build a MimeMessage bodyPartEncoding values are: text/plain; charset=UTF-8 | text/html; charset=UTF-8
static javax.mail.Message buildMessage(String from, String recipients, String copies, String bcopies, String subject, String[] bodyPart, String[] bodyPartEncoding, Map<File,String> files, int priority, javax.mail.BodyPart[] bodyPartObjects)
          Build a MimeMessage bodyPartEncoding values are: text/plain; charset=UTF-8 | text/html; charset=UTF-8
static boolean checkEmail(String email)
          Checks that the given string has a valid email syntax.
static void configure(String host, String port, String login, String password, Properties addedProps)
          Configure MailUtil properties (of javax.mail.Session) using the given values.
static void disable()
          Disable MailUtil, that is all call to methods of MailUtil will results in log message and no mail is ever send.
static Set<String> emailsStringToEmailSet(String emails)
          Retrieve a Set of emails from a string of coma separated emails
static void enable()
          Enable MailUtil, that is all call to methods of MailUtil will send mail using the configuration given during call to configure(String, String, String, String, Properties).
static String getBeautifiedEmail(String email)
          Convert a text email to an HTML representation.
static String getBeautifiedEmail(String email, boolean isColored)
          Convert a text email to an HTML representation.
static String getBeautifiedEmail(String email, String css1, String css2, boolean isColored)
          Convert a text email to an HTML representation.
static String getCanonizedEmail(String email)
          Canonizes an email.
static String getCharset(String contentType)
          Returns charset for the given mail contentType
static javax.mail.internet.InternetAddress getIA(String email)
          Retrieve a new InternetAddress instance (with properly encoded personnal).
static Set<javax.mail.internet.InternetAddress> getIAFromMailSet(Set<String> mailSet)
          Returns a Set of InternetAddress from a Set of mail String
static javax.mail.internet.InternetAddress getIAQuietly(String address)
          Returns an InternetAddress object from the specified email address
static javax.mail.internet.InternetAddress getInternetAddress(String email)
          Retrieve a new InternetAddress instance (with properly encoded personnal).
static int getPriority(javax.mail.Message msg)
          Returns the given Message's X-Priority header as int.
This method handles comment suffix like: "1 (Highest)"
static int getPriority(String priority)
          Returns the given X-Priority String as int.
This method handles comment suffix like: "1 (Highest)"
static TreeSet<String> getRecipientSet(Collection<javax.mail.Message> messages, javax.mail.Message.RecipientType type)
          Utility method which create a TreeSet of all recipients email from the specified messages.
static javax.mail.Session getSession()
          Retrieve the sesssion being used to send mails.
static boolean hasRecipient(javax.mail.Message message)
          Check if the specified message has recipient.
static String logAddress(javax.mail.Address[] address)
           
static String logFlags(javax.mail.Flags.Flag[] flags)
           
static String logHeaders(javax.mail.Message msg)
           
static String logMessage(javax.mail.Message msg)
           
static void sendMail(String from, String recipients, String subject, String bodyText)
          Send 1 Mail to all the given recipients.
static void sendMail(String from, String recipients, String subject, String bodyText, Map<File,String> files, int priority)
          Send 1 Mail to all the given recipients.
static void sendMail(String from, String recipients, String copies, String bcopies, String subject, String[] bodyPart, String[] bodyPartEncoding, Map<File,String> files, int priority, javax.mail.BodyPart[] bodyPartObjects, String host, int port, String login, String password)
          Send 1 Mail to all the given recipients.
static void sendMail(String from, String recipients, String copies, String bcopies, String subject, String[] bodyPart, String[] bodyPartEncoding, Map<File,String> files, int priority, String host, int port, String login, String password)
          Send 1 Mail to all the given recipients.
static void sendMail(String from, String recipients, String copies, String bcopies, String subject, String bodyText, Map<File,String> files, int priority)
          Send 1 Mail to all the given recipients.
static void sendMail(String from, String recipients, String copies, String bcopies, String subject, String bodyText, Map<File,String> files, int priority, String host, int port, String login, String password)
          Send 1 Mail to all the given recipients.
static List<String> sendMails(String from, String recipients, String subject, String bodyText)
          Send 1 mail for each given recipients.
static List<String> sendMails(String from, String recipients, String subject, String bodyText, Map<File,String> files, int priority)
          Send 1 mail for each given recipients.
static List<String> sendMails(String from, String recipients, String copies, String bcopies, String subject, String[] bodyPart, String[] bodyPartEncoding, Map<File,String> files, int priority, javax.mail.BodyPart[] bodyPartObjects, String host, int port, String login, String password)
          Send n Mails.
static List<String> sendMails(String from, String recipients, String copies, String bcopies, String subject, String[] bodyPart, String[] bodyPartEncoding, Map<File,String> files, int priority, String host, int port, String login, String password)
          Send n Mails.
static List<String> sendMails(String from, String recipients, String copies, String bcopies, String subject, String bodyText, Map<File,String> files, int priority)
          Send n Mails.
static List<String> sendMails(String from, String recipients, String copies, String bcopies, String subject, String bodyText, Map<File,String> files, int priority, String host, int port, String login, String password)
          Send n Mails.
static List<javax.mail.Message> sendMessage(javax.mail.Message msg, boolean catchMailErrors)
          Send given message.
static List<javax.mail.Message> sendMessage(javax.mail.Message msg, String host, int port, String login, String password, boolean catchMailErrors)
          Send the given message with the given smtp parameters.
static List<javax.mail.Message> sendMessages(javax.mail.Message[] msg, boolean catchMailErrors)
          Send given messages.
static List<javax.mail.Message> sendMessages(javax.mail.Message[] msg, String host, int port, String login, String password, boolean catchMailErrors)
          Send given messages.
static String stripQuoteReplies(String message, String separator, String reply)
          Strip message to wrap inline quotation by [quote] and remove other quotes and signatures
static String toggleReplies(String message, String quote, String label)
          Strip message to show/hide quotation using javascript and css.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

REVISION

public static final String REVISION
See Also:
Constant Field Values

BODYPART_TEXT_PLAIN_ENCODING

public static final String BODYPART_TEXT_PLAIN_ENCODING
See Also:
Constant Field Values

BODYPART_TEXT_HTML_ENCODING

public static final String BODYPART_TEXT_HTML_ENCODING
See Also:
Constant Field Values

PRIORITY_HIGHEST

public static final int PRIORITY_HIGHEST
See Also:
Constant Field Values

PRIORITY_HIGH

public static final int PRIORITY_HIGH
See Also:
Constant Field Values

PRIORITY_NORMAL

public static final int PRIORITY_NORMAL
See Also:
Constant Field Values

PRIORITY_LOW

public static final int PRIORITY_LOW
See Also:
Constant Field Values

PRIORITY_LOWEST

public static final int PRIORITY_LOWEST
See Also:
Constant Field Values

BODYPART_ENCODINGS

public static final String[] BODYPART_ENCODINGS
Predefined array of body part encoding.
  • First part is MailUtil.BODYPART_TEXT_PLAIN_ENCODING.
  • Second part is MailUtil.BODYPART_TEXT_HTML_ENCODING.


  • props

    protected static final Properties props

    session

    protected static final javax.mail.Session session

    enabled

    protected static boolean enabled
    Method Detail

    configure

    public static void configure(String host,
                                 String port,
                                 String login,
                                 String password,
                                 Properties addedProps)
    Configure MailUtil properties (of javax.mail.Session) using the given values.

    Parameters:
    host - host of the SMTP server
    port - port of the SMTP server
    login - login used to connect to the SMTP server
    password - password used to connect to the SMTP server
    addedProps - more properties that will be added to javax.mail.Session properties if not null.

    enable

    public static void enable()
    Enable MailUtil, that is all call to methods of MailUtil will send mail using the configuration given during call to configure(String, String, String, String, Properties).


    disable

    public static void disable()
    Disable MailUtil, that is all call to methods of MailUtil will results in log message and no mail is ever send.


    getSession

    public static javax.mail.Session getSession()
    Retrieve the sesssion being used to send mails.

    Returns:
    a configured Session object

    getIAFromMailSet

    public static Set<javax.mail.internet.InternetAddress> getIAFromMailSet(Set<String> mailSet)
                                                                     throws javax.mail.MessagingException
    Returns a Set of InternetAddress from a Set of mail String

    Parameters:
    mailSet - Set of mail String
    Returns:
    Set of InternetAddress
    Throws:
    javax.mail.MessagingException

    getIAQuietly

    public static javax.mail.internet.InternetAddress getIAQuietly(String address)
    Returns an InternetAddress object from the specified email address

    Parameters:
    address - the email address. (eg: "John Smith" <john.smith@example.com>)
    Returns:
    InternetAddress

    getIA

    public static javax.mail.internet.InternetAddress getIA(String email)
                                                     throws javax.mail.internet.AddressException
    Retrieve a new InternetAddress instance (with properly encoded personnal).

    Parameters:
    email - the email address. (eg: "John Smith" <john.smith@example.com>)
    Returns:
    a new InternetAddress object
    Throws:
    javax.mail.internet.AddressException - if the email address could not be parsed.
    Since:
    jcms-5.7.6, jcms-6.1.2, jcms-6.2

    getInternetAddress

    public static javax.mail.internet.InternetAddress getInternetAddress(String email)
                                                                  throws javax.mail.internet.AddressException
    Retrieve a new InternetAddress instance (with properly encoded personnal).

    Parameters:
    email - the email address. (eg: "John Smith" <john.smith@example.com>)
    Returns:
    a new InternetAddress object
    Throws:
    javax.mail.internet.AddressException - if the email address could not be parsed.
    Since:
    jcms-5.7.6, jcms-6.1.2, jcms-6.2

    checkEmail

    public static boolean checkEmail(String email)
    Checks that the given string has a valid email syntax.

    Parameters:
    email - the email to be checked
    Returns:
    true if the email is valid, false otherwise

    getCanonizedEmail

    public static String getCanonizedEmail(String email)
    Canonizes an email. Example, returns olivier.dedieu@inria.fr for Olivier Dedieu <olivier.dedieu@inria.fr>

    Parameters:
    email - the email to be canonized
    Returns:
    the canonized email

    getPriority

    public static int getPriority(javax.mail.Message msg)
    Returns the given Message's X-Priority header as int.
    This method handles comment suffix like: "1 (Highest)"

    If no valid priority does match, returns PRIORITY_NORMAL by default.
    A valid priority is in range [1, 5], as the following:

    Parameters:
    msg - the message to retrieve its X-Priority header.
    Returns:
    the X-Priority from 1 (Highest) to 5 (Lowest)
    Since:
    jcms-7.1.4, jcms-8.0.3, jcms-9.0.0
    See Also:
    getPriority(String)

    getPriority

    public static int getPriority(String priority)
    Returns the given X-Priority String as int.
    This method handles comment suffix like: "1 (Highest)"

    If no valid priority does match, returns PRIORITY_NORMAL by default.
    A valid priority is in range [1, 5], as the following:

    Parameters:
    priority - the priority as String
    Returns:
    the X-Priority from 1 (Highest) to 5 (Lowest)
    Since:
    jcms-7.1.4, jcms-8.0.3, jcms-9.0.0
    See Also:
    getPriority(Message)

    getRecipientSet

    public static TreeSet<String> getRecipientSet(Collection<javax.mail.Message> messages,
                                                  javax.mail.Message.RecipientType type)
    Utility method which create a TreeSet of all recipients email from the specified messages.

    Parameters:
    messages - the message in which to retrieve recipients
    type - the type of recipient to find, if null, all recipient are used
    Returns:
    a Set of email, never return null.
    Since:
    jcms-6.1

    emailsStringToEmailSet

    public static Set<String> emailsStringToEmailSet(String emails)
    Retrieve a Set of emails from a string of coma separated emails

    Parameters:
    emails - a string containing one or several mail addresses seperated with coma, e.g "Foo Bar" <foobar@company.com>, "John Smith" <js@company.com>
    Returns:
    a Set of unique email address, never return null.

    getCharset

    public static String getCharset(String contentType)
    Returns charset for the given mail contentType

    Parameters:
    contentType - the contentType header
    Returns:
    String decoded charset

    getBeautifiedEmail

    public static String getBeautifiedEmail(String email)
    Convert a text email to an HTML representation. If label is missing then use email instead

    Parameters:
    email - the email String representation
    Returns:
    String HTML representation

    getBeautifiedEmail

    public static String getBeautifiedEmail(String email,
                                            boolean isColored)
    Convert a text email to an HTML representation. If label is missing then use email instead

    Parameters:
    email - the email String representation
    isColored - will set a color
    Returns:
    String HTML representation

    getBeautifiedEmail

    public static String getBeautifiedEmail(String email,
                                            String css1,
                                            String css2,
                                            boolean isColored)
    Convert a text email to an HTML representation. If label is missing then use email instead

    Parameters:
    email - the email String representation
    css1 - the first css to apply
    css2 - the second css to apply
    isColored - will set a color
    Returns:
    String HTML representation

    toggleReplies

    public static String toggleReplies(String message,
                                       String quote,
                                       String label)
    Strip message to show/hide quotation using javascript and css. A link is added and quotation is wrapped into a <cite> tag

    Parameters:
    message - the text message
    quote - the line starts
    label - the link label
    Returns:
    the modified String

    stripQuoteReplies

    public static String stripQuoteReplies(String message,
                                           String separator,
                                           String reply)
    Strip message to wrap inline quotation by [quote] and remove other quotes and signatures

    Parameters:
    message - the text message
    separator - the line separator of signature
    reply - a string to identify begining of reply (can be null)
    Returns:
    the message cleaned

    hasRecipient

    public static boolean hasRecipient(javax.mail.Message message)
    Check if the specified message has recipient.

    Parameters:
    message - the message to check
    Returns:
    true if the message has at least one recipient (TO, CC or BCC), false otherwise and if the message is null
    Since:
    jcms-6.2, jcms-6.1.3

    sendMail

    public static void sendMail(String from,
                                String recipients,
                                String subject,
                                String bodyText)
                         throws javax.mail.NoSuchProviderException,
                                javax.mail.MessagingException
    Send 1 Mail to all the given recipients.

    Parameters:
    from - the address sender
    recipients - the list of recipients separated by a comma
    subject - the subject of the mail
    bodyText - the body of the mail (plain text)
    Throws:
    javax.mail.NoSuchProviderException - if no SMTP provider (Transport) could be created
    javax.mail.MessagingException

    sendMail

    public static void sendMail(String from,
                                String recipients,
                                String subject,
                                String bodyText,
                                Map<File,String> files,
                                int priority)
                         throws javax.mail.NoSuchProviderException,
                                javax.mail.MessagingException
    Send 1 Mail to all the given recipients.

    Parameters:
    from - the address sender
    recipients - the list of recipients separated by a comma
    subject - the subject of the mail
    bodyText - the body of the mail (plain text)
    files - a Map containing files to be attached to the mail. File as the key and an optionnal String identifier as the value (value is optionnal, if left null, an id is automatically generated from the file name)
    priority - priority of the mail to be sent, cf MailUtil.PRIORITY_*, ignored if 0 or any invalid value.
    Throws:
    javax.mail.NoSuchProviderException - if no SMTP provider (Transport) could be created
    javax.mail.MessagingException

    sendMail

    public static void sendMail(String from,
                                String recipients,
                                String copies,
                                String bcopies,
                                String subject,
                                String bodyText,
                                Map<File,String> files,
                                int priority)
                         throws javax.mail.NoSuchProviderException,
                                javax.mail.MessagingException
    Send 1 Mail to all the given recipients.

    Parameters:
    from - the address sender
    recipients - the list of recipients separated by a comma
    copies - the list of recipients in carbon copy separated by a comma
    bcopies - the list of recipients in blind carbon copy separated by a comma
    subject - the subject of the mail
    bodyText - the body of the mail (plain text)
    files - a Map containing files to be attached to the mail. File as the key and an optionnal String identifier as the value (value is optionnal, if left null, an id is automatically generated from the file name)
    priority - priority of the mail to be sent, cf MailUtil.PRIORITY_*, ignored if 0 or any invalid value.
    Throws:
    javax.mail.NoSuchProviderException - if no SMTP provider (Transport) could be created
    javax.mail.MessagingException

    sendMail

    public static void sendMail(String from,
                                String recipients,
                                String copies,
                                String bcopies,
                                String subject,
                                String bodyText,
                                Map<File,String> files,
                                int priority,
                                String host,
                                int port,
                                String login,
                                String password)
                         throws javax.mail.NoSuchProviderException,
                                javax.mail.MessagingException
    Send 1 Mail to all the given recipients.

    Parameters:
    from - the address sender
    recipients - the list of recipients separated by a comma
    copies - the list of recipients in carbon copy separated by a comma
    bcopies - the list of recipients in blind carbon copy separated by a comma
    subject - the subject of the mail
    bodyText - the body of the mail (plain text)
    files - a Map containing files to be attached to the mail. File as the key and an optionnal String identifier as the value (value is optionnal, if left null, an id is automatically generated from the file name)
    priority - priority of the mail to be sent, cf MailUtil.PRIORITY_*, ignored if 0 or any invalid value.
    host - smtp server host (null means default smtp)
    port - smtp server port (<= 0 means default port)
    login - login to smtp server (null means default login)
    password - password to smtp server (null means default password)
    Throws:
    javax.mail.NoSuchProviderException - if no SMTP provider (Transport) could be created
    javax.mail.MessagingException

    sendMail

    public static void sendMail(String from,
                                String recipients,
                                String copies,
                                String bcopies,
                                String subject,
                                String[] bodyPart,
                                String[] bodyPartEncoding,
                                Map<File,String> files,
                                int priority,
                                String host,
                                int port,
                                String login,
                                String password)
                         throws javax.mail.NoSuchProviderException,
                                javax.mail.MessagingException
    Send 1 Mail to all the given recipients.

    Parameters:
    from - the address sender
    recipients - the list of recipients separated by a comma
    copies - the list of recipients in carbon copy separated by a comma
    bcopies - the list of recipients in blind carbon copy separated by a comma
    subject - the subject of the mail
    bodyPart - the body parts to be included in the mail (text, html.. etc)
    bodyPartEncoding - the encodings associated to each body part (must be present for body part to be used)
    files - a Map containing files to be attached to the mail. File as the key and an optionnal String identifier as the value (value is optionnal, if left null, an id is automatically generated from the file name)
    priority - priority of the mail to be sent, cf MailUtil.PRIORITY_*, ignored if 0 or any invalid value.
    host - smtp server host (null means default smtp)
    port - smtp server port (<= 0 means default port)
    login - login to smtp server (null means default login)
    password - password to smtp server (null means default password)
    Throws:
    javax.mail.NoSuchProviderException - if no SMTP provider (Transport) could be created
    javax.mail.MessagingException

    sendMail

    public static void sendMail(String from,
                                String recipients,
                                String copies,
                                String bcopies,
                                String subject,
                                String[] bodyPart,
                                String[] bodyPartEncoding,
                                Map<File,String> files,
                                int priority,
                                javax.mail.BodyPart[] bodyPartObjects,
                                String host,
                                int port,
                                String login,
                                String password)
                         throws javax.mail.NoSuchProviderException,
                                javax.mail.MessagingException
    Send 1 Mail to all the given recipients.

    Parameters:
    from - the address sender
    recipients - the list of recipients separated by a comma
    copies - the list of recipients in carbon copy separated by a comma
    bcopies - the list of recipients in blind carbon copy separated by a comma
    subject - the subject of the mail
    bodyPart - the body parts to be included in the mail (text, html.. etc)
    bodyPartEncoding - the encodings associated to each body part (must be present for body part to be used)
    files - a Map containing files to be attached to the mail. File as the key and an optionnal String identifier as the value (value is optionnal, if left null, an id is automatically generated from the file name)
    priority - priority of the mail to be sent, cf MailUtil.PRIORITY_*, ignored if 0 or any invalid value.
    bodyPartObjects - array of BodyPart to included in the mail
    host - smtp server host (null means default smtp)
    port - smtp server port (<= 0 means default port)
    login - login to smtp server (null means default login)
    password - password to smtp server (null means default password)
    Throws:
    javax.mail.NoSuchProviderException - if no SMTP provider (Transport) could be created
    javax.mail.MessagingException

    sendMails

    public static List<String> sendMails(String from,
                                         String recipients,
                                         String subject,
                                         String bodyText)
    Send 1 mail for each given recipients.

    Parameters:
    from - the address sender
    recipients - the list of recipients separated by a comma
    subject - the subject of the mail
    bodyText - the body of the mail (plain text)
    Returns:
    a list of recipient String for which an exception was thrown during sending of mails

    sendMails

    public static List<String> sendMails(String from,
                                         String recipients,
                                         String subject,
                                         String bodyText,
                                         Map<File,String> files,
                                         int priority)
    Send 1 mail for each given recipients. This is a shorter Method using basic parameters. All other parameters are guest from properties. Warning: This method only fail and return a list of error when a Message could not be build or sent, but it DOES not faild and return anything when the connection to the smtp server cannot be established.

    Parameters:
    from - the address sender
    recipients - the list of recipients separated by a comma
    subject - the subject of the mail
    bodyText - the body of the mail (plain text)
    files - a Map containing files to be attached to the mail. File as the key and an optionnal String identifier as the value (value is optionnal, if left null, an id is automatically generated from the file name)
    priority - priority of the mail to be sent, cf MailUtil.PRIORITY_*, ignored if 0 or any invalid value.
    Returns:
    a list of recipient String for which an exception was thrown during sending of mails

    sendMails

    public static List<String> sendMails(String from,
                                         String recipients,
                                         String copies,
                                         String bcopies,
                                         String subject,
                                         String bodyText,
                                         Map<File,String> files,
                                         int priority)
    Send n Mails. Do not throw exceptions. This is a shorter Method using basic parameters. All other parameters are guest from properties. Warning: This method only fail and return a list of error when a Message could not be build or sent, but it DOES not faild and return anything when the connection to the smtp server cannot be established.

    Parameters:
    from - the address sender
    recipients - the list of recipients separated by a comma
    copies - the list of recipients in carbon copy separated by a comma
    bcopies - the list of recipients in blind carbon copy separated by a comma
    subject - the subject of the mail
    bodyText - the body of the mail (plain text)
    files - a Map containing files to be attached to the mail. File as the key and an optionnal String identifier as the value (value is optionnal, if left null, an id is automatically generated from the file name)
    priority - priority of the mail to be sent, cf MailUtil.PRIORITY_*, ignored if 0 or any invalid value.
    Returns:
    a list of recipient String that throws exceptions during sending of mails

    sendMails

    public static List<String> sendMails(String from,
                                         String recipients,
                                         String copies,
                                         String bcopies,
                                         String subject,
                                         String bodyText,
                                         Map<File,String> files,
                                         int priority,
                                         String host,
                                         int port,
                                         String login,
                                         String password)
    Send n Mails. Do not throw exceptions. This is a shorter Method using basic parameters. All other parameters are guest from properties. Warning: This method only fail and return a list of error when a Message could not be build or sent, but it DOES not faild and return anything when the connection to the smtp server cannot be established.

    Parameters:
    from - the address sender
    recipients - the list of recipients separated by a comma
    copies - the list of recipients in carbon copy separated by a comma
    bcopies - the list of recipients in blind carbon copy separated by a comma
    subject - the subject of the mail
    bodyText - the body of the mail (plain text)
    files - a Map containing files to be attached to the mail. File as the key and an optionnal String identifier as the value (value is optionnal, if left null, an id is automatically generated from the file name)
    priority - priority of the mail to be sent, cf MailUtil.PRIORITY_*, ignored if 0 or any invalid value.
    host - not used
    port - not used
    login - not used
    password - not used
    Returns:
    a list of recipient String that throws exceptions during sending of mails

    sendMails

    public static List<String> sendMails(String from,
                                         String recipients,
                                         String copies,
                                         String bcopies,
                                         String subject,
                                         String[] bodyPart,
                                         String[] bodyPartEncoding,
                                         Map<File,String> files,
                                         int priority,
                                         String host,
                                         int port,
                                         String login,
                                         String password)
    Send n Mails. Do not throw exceptions. This is the most complete Method using basic parameters. Warning: This method only fail and return a list of error when a Message could not be build or sent, but it DOES not faild and return anything when the connection to the smtp server cannot be established.

    Parameters:
    from - the address sender
    recipients - the list of recipients separated by a comma
    copies - the list of recipients in carbon copy separated by a comma
    bcopies - the list of recipients in blind carbon copy separated by a comma
    subject - the subject of the mail
    bodyPart - the body parts to be included in the mail (text, html.. etc)
    bodyPartEncoding - the encodings associated to each body part (must be present for body part to be used)
    files - a Map containing files to be attached to the mail. File as the key and an optionnal String identifier as the value (value is optionnal, if left null, an id is automatically generated from the file name)
    priority - priority of the mail to be sent, cf MailUtil.PRIORITY_*, ignored if 0 or any invalid value.
    host - not used
    port - not used
    login - not used
    password - not used
    Returns:
    a list of recipient String that throws exceptions during sending of mails

    sendMails

    public static List<String> sendMails(String from,
                                         String recipients,
                                         String copies,
                                         String bcopies,
                                         String subject,
                                         String[] bodyPart,
                                         String[] bodyPartEncoding,
                                         Map<File,String> files,
                                         int priority,
                                         javax.mail.BodyPart[] bodyPartObjects,
                                         String host,
                                         int port,
                                         String login,
                                         String password)
    Send n Mails. Do not throw exceptions. This is the most complete Method using basic parameters. Warning: This method only fail and return a list of error when a Message could not be build or sent, but it DOES not faild and return anything when the connection to the smtp server cannot be established.

    Parameters:
    from - the address sender
    recipients - the list of recipients separated by a comma
    copies - the list of recipients in carbon copy separated by a comma
    bcopies - the list of recipients in blind carbon copy separated by a comma
    subject - the subject of the mail
    bodyPart - the body parts to be included in the mail (text, html.. etc)
    bodyPartEncoding - the encodings associated to each body part (must be present for body part to be used)
    files - a Map containing files to be attached to the mail. File as the key and an optionnal String identifier as the value (value is optionnal, if left null, an id is automatically generated from the file name)
    priority - priority of the mail to be sent, cf MailUtil.PRIORITY_*, ignored if 0 or any invalid value.
    bodyPartObjects - array of BodyPart to included in the mail
    host - not used
    port - not used
    login - not used
    password - not used
    Returns:
    a list of recipient String that throws exceptions during sending of mails

    sendMessage

    public static List<javax.mail.Message> sendMessage(javax.mail.Message msg,
                                                       boolean catchMailErrors)
                                                throws javax.mail.NoSuchProviderException,
                                                       javax.mail.MessagingException
    Send given message.

    Parameters:
    msg - Message to be sent
    catchMailErrors - set to true to prevent this method to throw exception when sending messages
    Returns:
    null if catchMailErrors is false, a List of Message that could not be sent if catchMailErrors is true
    Throws:
    javax.mail.NoSuchProviderException - if no SMTP provider (Transport) could be created
    javax.mail.MessagingException

    sendMessages

    public static List<javax.mail.Message> sendMessages(javax.mail.Message[] msg,
                                                        boolean catchMailErrors)
                                                 throws javax.mail.NoSuchProviderException,
                                                        javax.mail.MessagingException
    Send given messages.

    Parameters:
    msg - array of Message to be sent
    catchMailErrors - set to true to prevent this method to throw exception when sending messages
    Returns:
    null if catchMailErrors is false, a List of Message that could not be sent if catchMailErrors is true
    Throws:
    javax.mail.NoSuchProviderException
    javax.mail.MessagingException

    sendMessage

    public static List<javax.mail.Message> sendMessage(javax.mail.Message msg,
                                                       String host,
                                                       int port,
                                                       String login,
                                                       String password,
                                                       boolean catchMailErrors)
                                                throws javax.mail.NoSuchProviderException,
                                                       javax.mail.MessagingException
    Send the given message with the given smtp parameters.

    Parameters:
    msg - Message to be sent
    host - smtp server host (null means default smtp)
    port - smtp server port (<= 0 means default port)
    login - login to smtp server (null means default login)
    password - password to smtp server (null means default password)
    catchMailErrors - set to true to prevent this method to throw exception when sending messages
    Returns:
    null if catchMailErrors is false, a List of Message that could not be sent if catchMailErrors is true
    Throws:
    javax.mail.NoSuchProviderException - if no SMTP provider (Transport) could be created
    javax.mail.MessagingException

    sendMessages

    public static List<javax.mail.Message> sendMessages(javax.mail.Message[] msg,
                                                        String host,
                                                        int port,
                                                        String login,
                                                        String password,
                                                        boolean catchMailErrors)
                                                 throws javax.mail.NoSuchProviderException,
                                                        javax.mail.MessagingException
    Send given messages.

    Parameters:
    msg - array of Message to be sent
    host - smtp server host (null means default smtp)
    port - smtp server port (<= 0 means default port)
    login - login to smtp server (null means default login)
    password - password to smtp server (null means default password)
    catchMailErrors - set to true to prevent this method to throw exception when sending messages
    Returns:
    null if catchMailErrors is false, a List of Message that could not be sent if catchMailErrors is true
    Throws:
    javax.mail.NoSuchProviderException - if no SMTP provider (Transport) could be created
    javax.mail.MessagingException

    logMessage

    public static String logMessage(javax.mail.Message msg)
                             throws javax.mail.MessagingException
    Throws:
    javax.mail.MessagingException

    logAddress

    public static String logAddress(javax.mail.Address[] address)
                             throws javax.mail.MessagingException
    Throws:
    javax.mail.MessagingException

    logFlags

    public static String logFlags(javax.mail.Flags.Flag[] flags)
                           throws javax.mail.MessagingException
    Throws:
    javax.mail.MessagingException

    logHeaders

    public static String logHeaders(javax.mail.Message msg)
                             throws javax.mail.MessagingException
    Throws:
    javax.mail.MessagingException

    buildMessage

    public static javax.mail.Message buildMessage(String from,
                                                  String recipients,
                                                  String copies,
                                                  String bcopies,
                                                  String subject,
                                                  String[] bodyPart,
                                                  String[] bodyPartEncoding,
                                                  Map<File,String> files,
                                                  int priority)
                                           throws javax.mail.MessagingException
    Build a MimeMessage bodyPartEncoding values are: text/plain; charset=UTF-8 | text/html; charset=UTF-8

    Parameters:
    from - the address sender
    recipients - the list of recipients separated by a comma
    copies - the list of recipients in carbon copy separated by a comma
    bcopies - the list of recipients in blank carbon copy separated by a comma
    subject - the subject of the mail
    bodyPart - the body parts to be included in the mail (text, html.. etc)
    bodyPartEncoding - the encodings associated to each body part (must be present for body part to be used)
    files - a Map containing files to be attached to the mail. File as the key and an optionnal String identifier as the value (value is optionnal, if left null, an id is automatically generated from the file name)
    priority - priority of the message to be built, cf MailUtil.PRIORITY_*, ignored if 0 or any invalid value.
    Returns:
    a new Message instance
    Throws:
    javax.mail.MessagingException - When including attachments with your messages, if your program is a servlet, your users must upload the attachment besides tell you where to send the message. Uploading each file can be handled with a form encoding type of multipart/form-data.

    buildMessage

    public static javax.mail.Message buildMessage(String from,
                                                  String recipients,
                                                  String copies,
                                                  String bcopies,
                                                  String subject,
                                                  String[] bodyPart,
                                                  String[] bodyPartEncoding,
                                                  Map<File,String> files,
                                                  int priority,
                                                  javax.mail.BodyPart[] bodyPartObjects)
                                           throws javax.mail.MessagingException
    Build a MimeMessage bodyPartEncoding values are: text/plain; charset=UTF-8 | text/html; charset=UTF-8

    Parameters:
    from - the address sender
    recipients - the list of recipients separated by a comma
    copies - the list of recipients in carbon copy separated by a comma
    bcopies - the list of recipients in blank carbon copy separated by a comma
    subject - the subject of the mail
    bodyPart - the body parts to be included in the mail (text, html.. etc)
    bodyPartEncoding - the encodings associated to each body part (must be present for body part to be used)
    files - a Map containing files to be attached to the mail. File as the key and an optionnal String identifier as the value (value is optionnal, if left null, an id is automatically generated from the file name)
    priority - priority of the message to be built, cf MailUtil.PRIORITY_*, ignored if 0 or any invalid value.
    bodyPartObjects - array of BodyPart to included in the mail
    Returns:
    a new Message instance
    Throws:
    javax.mail.MessagingException - When including attachments with your messages, if your program is a servlet, your users must upload the attachment besides tell you where to send the message. Uploading each file can be handled with a form encoding type of multipart/form-data.


    Copyright © 2001-2010 Jalios SA. All Rights Reserved.