EmailPopulatingBuilder.appendText(String)
.EmailPopulatingBuilder.appendTextHTML(String)
.AttachmentResource.AttachmentResource(String, DataSource, String, ContentTransferEncoding)
with null-description and no forced content transfer encodingAttachmentResource.AttachmentResource(String, DataSource, String, ContentTransferEncoding)
with no forced content transfer encodingEmailPopulatingBuilder.withRecipients(Collection, Message.RecipientType)
with fixedRecipientType=
Message.RecipientType#BCC
.EmailPopulatingBuilder.withRecipients(Collection, Message.RecipientType)
with fixedRecipientType=
Message.RecipientType#BCC
.EmailPopulatingBuilder.withRecipients(String, boolean, Collection, Message.RecipientType)
, with recipientType=
Message.RecipientType#BCC
and fixedName=true
assigning or overwriting existing names with the provided name.EmailPopulatingBuilder.withRecipientsWithDefaultName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#BCC
and empty default name.EmailPopulatingBuilder.withAddressesWithDefaultName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#BCC
and empty default name.EmailPopulatingBuilder.withRecipientsWithDefaultName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#BCC
and empty default name.EmailPopulatingBuilder.withAddressesWithDefaultName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#BCC
.EmailPopulatingBuilder.withAddressesWithDefaultName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#BCC
.EmailPopulatingBuilder.withAddressesWithFixedName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#BCC
.EmailPopulatingBuilder.withAddressesWithFixedName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#BCC
.EmailPopulatingBuilder.withRecipientsWithDefaultName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#BCC
and empty default name.EmailPopulatingBuilder.withAddressesWithDefaultName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#BCC
and empty default name.EmailPopulatingBuilder.withAddressesWithDefaultName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#BCC
and empty default name.EmailPopulatingBuilder.withRecipientsWithDefaultName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#BCC
.EmailPopulatingBuilder.withRecipientsWithDefaultName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#BCC
.EmailPopulatingBuilder.withRecipientsWithFixedName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#BCC
.EmailPopulatingBuilder.withRecipientsWithFixedName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#BCC
.Email.Email(EmailPopulatingBuilder)
with this
as argument.EmailPopulatingBuilder.buildEmailCompletedWithDefaultsAndOverrides(EmailGovernance)
with an empty default email governance, which
will still apply default config (System) properties (files).EmailPopulatingBuilder.buildEmail()
, but returning the final email version right away.Mailer
instance with everything configured on this builder instance.Mailer
instance with everything configured on this builder instance.MailerRegularBuilder.buildMailer()
.EmailPopulatingBuilder.withRecipients(Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#CC
.EmailPopulatingBuilder.withRecipients(Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#CC
.EmailPopulatingBuilder.withRecipients(String, boolean, Collection, Message.RecipientType)
, with recipientType=
Message.RecipientType#CC
and fixedName=true
assigning or overwriting existing names with the provided name.EmailPopulatingBuilder.withRecipientsWithDefaultName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#CC
and empty default name.EmailPopulatingBuilder.withAddressesWithDefaultName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#CC
and empty default name.EmailPopulatingBuilder.withRecipientsWithDefaultName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#CC
and empty default name.EmailPopulatingBuilder.withAddressesWithDefaultName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#CC
.EmailPopulatingBuilder.withAddressesWithDefaultName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#CC
.EmailPopulatingBuilder.withAddressesWithFixedName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#CC
.EmailPopulatingBuilder.withAddressesWithFixedName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#CC
.EmailPopulatingBuilder.withRecipientsWithDefaultName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#CC
and empty default name.EmailPopulatingBuilder.withAddressesWithDefaultName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#CC
and empty default name.EmailPopulatingBuilder.withAddressesWithDefaultName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#CC
and empty default name.EmailPopulatingBuilder.withRecipientsWithDefaultName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#CC
.EmailPopulatingBuilder.withRecipientsWithDefaultName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#CC
.EmailPopulatingBuilder.withRecipientsWithFixedName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#CC
.EmailPopulatingBuilder.withRecipientsWithFixedName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#CC
.ContentTransferEncoding.QUOTED_PRINTABLE
.Email
instance null
, meaning no defaults will be applied.Email
instance null
, meaning no overrides will be applied.null
, meaning validation won't take place.null
.null
.null
.null
, meaning no size check will be performed.EmailStartingBuilder.copying(Email)
, by converting the provided message first.EmailStartingBuilder.copying(Email)
, by building the email first.EmailStartingBuilder.copying(MimeMessage)
.EmailStartingBuilder.copying(EmailPopulatingBuilder)
.EmailStartingBuilder.copying(Email)
.Integer.MAX_VALUE
), effectively indefinately.false
, validating emailaddresses (can be configured seperately, but this does override it) and CRLF injection detection (will arn instead).false
, sending mails rather than just only logging the mails.1080
.60000
milliseconds (affects socket connect-,
read- and write timeouts).false
, sending mails rather than just only logging the mails.EmailPopulatingBuilder
to this Email instance.EmailPopulatingBuilderImpl
for filling in details.Email
instances to other formats (MimeMessage, EML etc.) and vice versa.Mailer
instance.Email
instances.EmailConverter.emailToMimeMessage(Email)
and passes the result to EmailConverter.mimeMessageToEML(MimeMessage)
.EmailConverter.emailToMimeMessage(Email, Session, EmailGovernance)
, using a new empty Session
instance,
and without email governance - but defaults from (system) prorties (files) are still applied, if provided..EmailConverter.emailToMimeMessage(Email, Session, EmailGovernance)
, using a new empty Session
instance.EmailConverter.emailToMimeMessage(Email, Session, EmailGovernance)
with no email governance -
but defaults from (system) prorties (files) are still applied, if provided.MimeMessageProducerHelper.produceMimeMessage(Email, Session)
.EmailConverter.emlToEmail(InputStream, Pkcs12Config)
.EmailConverter.emlToEmailBuilder(InputStream, Pkcs12Config)
with the full string value read from the given InputStream
.EmailConverter.emlToEmail(String, Pkcs12Config)
.EmailConverter.emlToEmailBuilder(String, Pkcs12Config)
.EmailConverter.emlToEmail(File, Pkcs12Config)
.EmailConverter.emlToEmailBuilder(File, Pkcs12Config)
.EmailConverter.emlToEmailBuilder(File, Pkcs12Config)
.EmailConverter.emlToEmail(String)
with the full string value read from the given InputStream
.EmailConverter.emlToEmailBuilder(String, Pkcs12Config)
.EmailConverter.emlToMimeMessage(String, Session)
using a dummy Session
instance and passes the result to EmailConverter.mimeMessageToEmailBuilder(MimeMessage, Pkcs12Config)
.EmailConverter.emlToMimeMessage(File, Session)
, using EmailConverter.createDummySession()
.EmailConverter.emlToMimeMessage(InputStream, Session)
.MimeMessage.MimeMessage(Session, InputStream)
.EmailConverter.emlToMimeMessage(String, Session)
with an empty Session
instance.MimeMessage.MimeMessage(Session, InputStream)
.EmailPopulatingBuilder.encryptWithSmime(X509Certificate)
using the provided PEM file.EmailPopulatingBuilder.encryptWithSmime(InputStream)
using the provided PEM file.EmailPopulatingBuilder.encryptWithSmime(InputStream)
using the provided PEM file.EmailStartingBuilder.forwarding(MimeMessage)
with the provided Email
converted to MimeMessage
.EmailStartingBuilder.forwarding(Email)
.EmailStartingBuilder.forwarding(MimeMessage)
.EmailPopulatingBuilder.from(String, String)
with empty name.EmailPopulatingBuilder.from(Recipient)
with a new Recipient
wrapped around the given name and email address.EmailPopulatingBuilder.from(Recipient)
with a new Recipient
wrapped around the given fixed name and email address.EmailPopulatingBuilder.from(Recipient)
with a new Recipient
wrapped around the given email address.Recipient
(ignoring its Message.RecipientType
if provided).Recipient.address
;DataSource.getInputStream()
OperationalConfig
is created for the
new Mailer
instance.Recipient.name
;Session
instance to debug or tweak.Recipient.type
;EmailGovernance
.EmailGovernance
.<img src="...">
entries in an HTML document.It needs to cater for various things, like more whitespaces including newlines on any
place, HTML is not case-sensitive and there can be arbitrary text between "IMG" and "SRC" like IDs and other things.File
, if provided.InputStream
.MailerRegularBuilder
.MailerGenericBuilder
and fully configure a Mailer.Session
instance.Mailer
.Mailer
operates.EmailConverter.outlookMsgToEmail(String, Pkcs12Config)
.EmailConverter.outlookMsgToEmailBuilder(File)
and then builds and returns the email.EmailConverter.outlookMsgToEmailBuilder(File, Pkcs12Config)
and then builds and returns the email.EmailFromOutlookMessage
is set to ignore defaults as to stay as close as possible to the original MimeMessage.EmailConverter.outlookMsgToEML(String, Pkcs12Config)
.EmailConverter.outlookMsgToEML(File, Pkcs12Config)
.FileInputStream
without closing it.EmailPopulatingBuilder.prependText(String)
.EmailPopulatingBuilder.prependTextHTML(String)
.MiscUtil.readInputStreamToBytes(InputStream)
with data source input stream.MiscUtil.readInputStreamToString(InputStream, Charset)
with data source input stream.Message.RecipientType.BCC
).EmailStartingBuilder.replyingTo(MimeMessage, boolean, String)
with replyToAll set to false
and a default HTML quoting
template.EmailStartingBuilder.replyingTo(MimeMessage, boolean, String)
with replyToAll set to false
.EmailStartingBuilder.replyingTo(MimeMessage, boolean, String)
with replyToAll set to false
and a default HTML quoting
template.EmailStartingBuilder.replyingTo(MimeMessage, boolean, String)
with replyToAll set to false
.EmailStartingBuilder.replyingTo(Email)
.EmailStartingBuilder.replyingTo(Email, String)
.EmailStartingBuilder.replyingTo(MimeMessage)
.EmailStartingBuilder.replyingTo(MimeMessage, String)
.EmailStartingBuilder.replyingTo(MimeMessage, boolean, String)
with replyToAll set to true
and a default HTML quoting
template.EmailStartingBuilder.replyingTo(MimeMessage, boolean, String)
with replyToAll set to true
.EmailStartingBuilder.replyingTo(MimeMessage, boolean, String)
with replyToAll set to true
.EmailStartingBuilder.replyingTo(MimeMessage, boolean, String)
with replyToAll set to true
and a default HTML quoting
template.EmailStartingBuilder.replyingToAll(Email)
.EmailStartingBuilder.replyingToAll(Email, String)
.EmailStartingBuilder.replyingToAll(MimeMessage, String)
.EmailStartingBuilder.replyingToAll(MimeMessage)
.Mailer
.JMail.strictValidator()
.Executors.newSingleThreadExecutor()
.Mailer.sendMail(Email, boolean)
, with async = false
.Email
instance into a completely configured Message
.Mailer
instance and closes remaining open connections.EmailPopulatingBuilder.signWithSmime(Pkcs12Config)
.Mailer
bean completely configured from property defaults as well as a MailerGenericBuilder
for your convenience in case you wish to further configure it in Java code.EmailStartingBuilder.startingBlank()
.Mailer.testConnection(boolean)
with async == false
.EmailPopulatingBuilder.withRecipients(Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#TO
.EmailPopulatingBuilder.withRecipients(Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#TO
.EmailPopulatingBuilder.withRecipients(String, boolean, Collection, Message.RecipientType)
, with recipientType=
Message.RecipientType#TO
and
fixedName=true
assigning or overwriting existing names with the provided name.EmailPopulatingBuilder.withRecipientsWithDefaultName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#TO
and empty default name.EmailPopulatingBuilder.withAddressesWithDefaultName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#TO
and empty default name.EmailPopulatingBuilder.withAddressesWithDefaultName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#TO
.EmailPopulatingBuilder.withAddressesWithDefaultName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#TO
.EmailPopulatingBuilder.withAddressesWithFixedName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#TO
.EmailPopulatingBuilder.withAddressesWithFixedName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#TO
.EmailPopulatingBuilder.withRecipientsWithDefaultName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#TO
and empty default name.EmailPopulatingBuilder.withRecipientsWithDefaultName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#TO
and empty default name.EmailPopulatingBuilder.withAddressesWithDefaultName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#TO
and empty default name.EmailPopulatingBuilder.withAddressesWithDefaultName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#TO
and empty default name.EmailPopulatingBuilder.withRecipientsWithDefaultName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#TO
.EmailPopulatingBuilder.withRecipientsWithDefaultName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#TO
.EmailPopulatingBuilder.withRecipientsWithFixedName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#TO
.EmailPopulatingBuilder.withRecipientsWithFixedName(String, Collection, Message.RecipientType)
with recipientType=
Message.RecipientType#TO
.Session
may be configured using a
TransportStrategy
implementation.Session
instance.MailerFromSessionBuilderImpl.usingSession(Session)
.Email
instance.EmailPopulatingBuilder.withRecipient(String, String, Message.RecipientType)
for each address in the provided collection.EmailPopulatingBuilder.withAddresses(String, boolean, Collection, Message.RecipientType)
, leaving existing names intact and defaulting when missing.EmailPopulatingBuilder.withAddresses(String, boolean, Collection, Message.RecipientType)
, with fixedName=true
assigning or overwriting existing names with the provided name.EmailPopulatingBuilder.withAttachment(String, byte[], String, String, ContentTransferEncoding)
with null-description and no forced content transfer encoding.EmailPopulatingBuilder.withAttachment(String, byte[], String, String, ContentTransferEncoding)
with no forced content transfer encoding.EmailPopulatingBuilder.withAttachment(String, DataSource)
, with a named ByteArrayDataSource
created using the provided name, data and mimetype.EmailPopulatingBuilder.withAttachment(String, DataSource, String, ContentTransferEncoding)
with null-description and no forced content transfer encoding.EmailPopulatingBuilder.withAttachment(String, DataSource, String, ContentTransferEncoding)
with no forced content transfer encoding.EmailPopulatingBuilder.withAttachment(String, DataSource)
for each attachment.EmailPopulatingBuilder.withBounceTo(Recipient)
with a new Recipient
wrapped around the email address (or null if missing).EmailPopulatingBuilder.withBounceTo(Recipient)
with a new Recipient
wrapped around the given name and email address.EmailPopulatingBuilder.withBounceTo(Recipient)
with a new Recipient
wrapped around the given address.EmailPopulatingBuilder.withBounceTo(Recipient)
with a new Recipient
wrapped around the given fixed name and address.Recipient
(ignoring its Message.RecipientType
if provided).Mailer
instances represent
individual connection pools within the same cluster.>0
, configures the connection pool to wait for a limited time after which the attempt to claim a Transport connection errors out.>0
, configures the connection pool to automatically close connections after some milliseconds (default 5000) since last usage.MailerGenericBuilder.withCustomMailer(CustomMailer)
.Session.setDebug(boolean)
so that it generates debug information.MailerGenericBuilder.withDebugLogging(Boolean)
dispositionNotificationTo
.EmailPopulatingBuilder.withDispositionNotificationTo(Recipient)
with a new Recipient
wrapped around the provided address.EmailPopulatingBuilder.withDispositionNotificationTo(Recipient)
with a new Recipient
wrapped around the provided name and address.EmailPopulatingBuilder.withDispositionNotificationTo(Recipient)
with a new Recipient
wrapped around the provided address.EmailPopulatingBuilder.withDispositionNotificationTo(Recipient)
with a new Recipient
wrapped around the provided fixed name and address.Recipient
.Email
to be used for default values on all emails coming through this Mailer
instance.Email
to be used for default values on all emails coming through this Mailer
instance.Mailer
instance.EmailPopulatingBuilder.withEmbeddedImage(String, DataSource)
, with a named ByteArrayDataSource
created using the provided name, data and
mimetype.EmailPopulatingBuilder.withEmbeddedImageBaseUrl(URL)
.EmailPopulatingBuilder.withEmbeddedImage(String, DataSource)
for each embedded image.EmailPopulatingBuilder.withHeader(String, Object, boolean)
with replaceHeader set to false
.EmailPopulatingBuilder.withHeader(String, Object)
for each header in the provided Map
.EmailPopulatingBuilder.withHTMLText(String)
.EmailPopulatingBuilder.withPlainText(String)
.Session
when building a mailer.null
.MailerGenericBuilder.withProxyHost(String)
MailerGenericBuilder.withProxyPort(Integer)
MailerGenericBuilder.withProxyUsername(String)
MailerGenericBuilder.withProxyPassword(String)
EmailPopulatingBuilder.withRecipient(String, String, Message.RecipientType)
with the name omitted.EmailPopulatingBuilder.withRecipient(String, boolean, String, Message.RecipientType)
with the name omitted and fixedName = true.Recipient
instance with the given name, address and Message.RecipientType
.Recipient
instance as copy of the provided recipient (copying name, address and Message.RecipientType
).EmailPopulatingBuilder.withRecipient(Recipient)
for each address found in not just the collection, but also in every individual address string
that is in the collection.EmailPopulatingBuilder.withRecipients(Collection, Message.RecipientType)
with Message.RecipientType
left empty (so it will use the original values).EmailPopulatingBuilder.withRecipients(Collection, Message.RecipientType)
with Message.RecipientType
left empty (so it will use the original values).EmailPopulatingBuilder.withRecipient(String, String, Message.RecipientType)
for each recipient in the provided collection, optionally fixing the
recipientType for all recipients to the provided type.EmailPopulatingBuilder.withRecipients(String, boolean, Collection, Message.RecipientType)
, leaving existing names intact and defaulting when missing.EmailPopulatingBuilder.withRecipients(String, boolean, Collection, Message.RecipientType)
, with fixedName=true
assigning or overwriting existing names with the provided name.EmailPopulatingBuilder.withReplyTo(Recipient)
with a new Recipient
wrapped around the given email address.EmailPopulatingBuilder.withReplyTo(Recipient)
with a new Recipient
wrapped around the given fixed name and email address.EmailPopulatingBuilder.withReplyTo(Recipient)
with a new Recipient
wrapped around the given address.EmailPopulatingBuilder.withReplyTo(Recipient)
with a new Recipient
wrapped around the given fixed name and address.Recipient
(ignoring its Message.RecipientType
if provided).returnReceiptTo
.EmailPopulatingBuilder.withReturnReceiptTo(Recipient)
with a new Recipient
wrapped around the provided address.EmailPopulatingBuilder.withReturnReceiptTo(Recipient)
with a new Recipient
wrapped around the provided name and address.EmailPopulatingBuilder.withReturnReceiptTo(Recipient)
with a new Recipient
wrapped around the provided address.EmailPopulatingBuilder.withReturnReceiptTo(Recipient)
with a new Recipient
wrapped around the provided fixed name and address.Recipient
.MailerRegularBuilder.withSMTPServer(String, Integer)
.MailerRegularBuilder.withSMTPServerHost(String)
.MailerRegularBuilder.withSMTPServerPassword(String)
.MailerRegularBuilder.withSMTPServerPort(Integer)
.MailerRegularBuilder.withSMTPServerUsername(String)
.Copyright © 2009–2023. All rights reserved.