|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.jalios.util.MailUtil
public final class MailUtil
This class provides a set of static methods which perform various
utility operations for JavaMail API.
sendMail(...)
methods send one and only one mail for all recipients.sendMails(...)
methods send one mail per recipient (spliting the recipients on comma).sendMessage(...)
methods send one mail per given Message.
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 ddress |
static javax.mail.internet.InternetAddress |
getInternetAddress(String email)
Retrieve a new InternetAddress instance (with properly encoded personnal). |
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 |
---|
public static final String REVISION
public static final String BODYPART_TEXT_PLAIN_ENCODING
public static final String BODYPART_TEXT_HTML_ENCODING
public static final int PRIORITY_HIGHEST
public static final int PRIORITY_HIGH
public static final int PRIORITY_NORMAL
public static final int PRIORITY_LOW
public static final int PRIORITY_LOWEST
public static final String[] BODYPART_ENCODINGS
MailUtil.BODYPART_TEXT_PLAIN_ENCODING
. MailUtil.BODYPART_TEXT_HTML_ENCODING
.
protected static final Properties props
protected static final javax.mail.Session session
protected static boolean enabled
Method Detail |
---|
public static void configure(String host, String port, String login, String password, Properties addedProps)
host
- host of the SMTP serverport
- port of the SMTP serverlogin
- login used to connect to the SMTP serverpassword
- password used to connect to the SMTP serveraddedProps
- more properties that will be added to javax.mail.Session properties if not null.public static void enable()
configure(String, String, String, String, Properties)
.
public static void disable()
public static javax.mail.Session getSession()
public static Set<javax.mail.internet.InternetAddress> getIAFromMailSet(Set<String> mailSet) throws javax.mail.MessagingException
mailSet
- Set of mail String
javax.mail.MessagingException
public static javax.mail.internet.InternetAddress getIAQuietly(String address)
address
- the email address. (eg: "John Smith" <john.smith@example.com>)
public static javax.mail.internet.InternetAddress getIA(String email) throws javax.mail.internet.AddressException
email
- the email address. (eg: "John Smith" <john.smith@example.com>)
javax.mail.internet.AddressException
- if the email address could not be parsed.public static javax.mail.internet.InternetAddress getInternetAddress(String email) throws javax.mail.internet.AddressException
email
- the email address. (eg: "John Smith" <john.smith@example.com>)
javax.mail.internet.AddressException
- if the email address could not be parsed.public static boolean checkEmail(String email)
email
- the email to be checked
public static String getCanonizedEmail(String email)
olivier.dedieu@inria.fr
for Olivier Dedieu
<olivier.dedieu@inria.fr>
email
- the email to be canonized
public static TreeSet<String> getRecipientSet(Collection<javax.mail.Message> messages, javax.mail.Message.RecipientType type)
messages
- the message in which to retrieve recipientstype
- the type of recipient to find, if null, all recipient are used
public static Set<String> emailsStringToEmailSet(String emails)
emails
- a string containing one or several mail addresses seperated with coma,
e.g "Foo Bar" <foobar@company.com>, "John Smith" <js@company.com>
public static String getCharset(String contentType)
contentType
- the contentType header
public static String getBeautifiedEmail(String email)
email
- the email String representation
public static String getBeautifiedEmail(String email, boolean isColored)
email
- the email String representationisColored
- will set a color
public static String getBeautifiedEmail(String email, String css1, String css2, boolean isColored)
email
- the email String representationcss1
- the first css to applycss2
- the second css to applyisColored
- will set a color
public static String toggleReplies(String message, String quote, String label)
message
- the text messagequote
- the line startslabel
- the link label
public static String stripQuoteReplies(String message, String separator, String reply)
message
- the text messageseparator
- the line separator of signaturereply
- a string to identify begining of reply (can be null)
public static boolean hasRecipient(javax.mail.Message message)
message
- the message to check
public static void sendMail(String from, String recipients, String subject, String bodyText) throws javax.mail.NoSuchProviderException, javax.mail.MessagingException
from
- the address senderrecipients
- the list of recipients separated by a commasubject
- the subject of the mailbodyText
- the body of the mail (plain text)
javax.mail.NoSuchProviderException
- if no SMTP provider (Transport) could be created
javax.mail.MessagingException
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
from
- the address senderrecipients
- the list of recipients separated by a commasubject
- the subject of the mailbodyText
- 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.
javax.mail.NoSuchProviderException
- if no SMTP provider (Transport) could be created
javax.mail.MessagingException
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
from
- the address senderrecipients
- the list of recipients separated by a commacopies
- the list of recipients in carbon copy separated by a commabcopies
- the list of recipients in blind carbon copy separated by a commasubject
- the subject of the mailbodyText
- 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.
javax.mail.NoSuchProviderException
- if no SMTP provider (Transport) could be created
javax.mail.MessagingException
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
from
- the address senderrecipients
- the list of recipients separated by a commacopies
- the list of recipients in carbon copy separated by a commabcopies
- the list of recipients in blind carbon copy separated by a commasubject
- the subject of the mailbodyText
- 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)
javax.mail.NoSuchProviderException
- if no SMTP provider (Transport) could be created
javax.mail.MessagingException
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
from
- the address senderrecipients
- the list of recipients separated by a commacopies
- the list of recipients in carbon copy separated by a commabcopies
- the list of recipients in blind carbon copy separated by a commasubject
- the subject of the mailbodyPart
- 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)
javax.mail.NoSuchProviderException
- if no SMTP provider (Transport) could be created
javax.mail.MessagingException
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
from
- the address senderrecipients
- the list of recipients separated by a commacopies
- the list of recipients in carbon copy separated by a commabcopies
- the list of recipients in blind carbon copy separated by a commasubject
- the subject of the mailbodyPart
- 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 mailhost
- 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)
javax.mail.NoSuchProviderException
- if no SMTP provider (Transport) could be created
javax.mail.MessagingException
public static List<String> sendMails(String from, String recipients, String subject, String bodyText)
from
- the address senderrecipients
- the list of recipients separated by a commasubject
- the subject of the mailbodyText
- the body of the mail (plain text)
public static List<String> sendMails(String from, String recipients, String subject, String bodyText, Map<File,String> files, int priority)
from
- the address senderrecipients
- the list of recipients separated by a commasubject
- the subject of the mailbodyText
- 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.
public static List<String> sendMails(String from, String recipients, String copies, String bcopies, String subject, String bodyText, Map<File,String> files, int priority)
from
- the address senderrecipients
- the list of recipients separated by a commacopies
- the list of recipients in carbon copy separated by a commabcopies
- the list of recipients in blind carbon copy separated by a commasubject
- the subject of the mailbodyText
- 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.
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)
from
- the address senderrecipients
- the list of recipients separated by a commacopies
- the list of recipients in carbon copy separated by a commabcopies
- the list of recipients in blind carbon copy separated by a commasubject
- the subject of the mailbodyText
- 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 usedport
- not usedlogin
- not usedpassword
- not used
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)
from
- the address senderrecipients
- the list of recipients separated by a commacopies
- the list of recipients in carbon copy separated by a commabcopies
- the list of recipients in blind carbon copy separated by a commasubject
- the subject of the mailbodyPart
- 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 usedport
- not usedlogin
- not usedpassword
- not used
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)
from
- the address senderrecipients
- the list of recipients separated by a commacopies
- the list of recipients in carbon copy separated by a commabcopies
- the list of recipients in blind carbon copy separated by a commasubject
- the subject of the mailbodyPart
- 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 mailhost
- not usedport
- not usedlogin
- not usedpassword
- not used
public static List<javax.mail.Message> sendMessage(javax.mail.Message msg, boolean catchMailErrors) throws javax.mail.NoSuchProviderException, javax.mail.MessagingException
msg
- Message to be sentcatchMailErrors
- set to true to prevent this method to throw exception when sending messages
javax.mail.NoSuchProviderException
- if no SMTP provider (Transport) could be created
javax.mail.MessagingException
public static List<javax.mail.Message> sendMessages(javax.mail.Message[] msg, boolean catchMailErrors) throws javax.mail.NoSuchProviderException, javax.mail.MessagingException
msg
- array of Message to be sentcatchMailErrors
- set to true to prevent this method to throw exception when sending messages
javax.mail.NoSuchProviderException
javax.mail.MessagingException
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
msg
- Message to be senthost
- 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
javax.mail.NoSuchProviderException
- if no SMTP provider (Transport) could be created
javax.mail.MessagingException
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
msg
- array of Message to be senthost
- 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
javax.mail.NoSuchProviderException
- if no SMTP provider (Transport) could be created
javax.mail.MessagingException
public static String logMessage(javax.mail.Message msg) throws javax.mail.MessagingException
javax.mail.MessagingException
public static String logAddress(javax.mail.Address[] address) throws javax.mail.MessagingException
javax.mail.MessagingException
public static String logFlags(javax.mail.Flags.Flag[] flags) throws javax.mail.MessagingException
javax.mail.MessagingException
public static String logHeaders(javax.mail.Message msg) throws javax.mail.MessagingException
javax.mail.MessagingException
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
from
- the address senderrecipients
- the list of recipients separated by a commacopies
- the list of recipients in carbon copy separated by a commabcopies
- the list of recipients in blank carbon copy separated by a commasubject
- the subject of the mailbodyPart
- 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.
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.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
from
- the address senderrecipients
- the list of recipients separated by a commacopies
- the list of recipients in carbon copy separated by a commabcopies
- the list of recipients in blank carbon copy separated by a commasubject
- the subject of the mailbodyPart
- 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
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.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |