Constructor and Description |
---|
MailerHelper() |
Modifier and Type | Method and Description |
---|---|
static void |
scanForInjectionAttack(@Nullable String value,
String valueLabel) |
static void |
scanForInjectionAttacks(@NotNull Email email)
Checks the following headers for suspicious content (newlines and characters):
subject
every header name and value
every attachment name, nested datasource name and description
every embedded image name, nested datasource name and description
from recipient name and address
replyTo recipient name and address, if provided
bounceTo recipient name and address, if provided
every TO/CC/BCC recipient name and address
disposition-notification-to recipient name and address, if provided
return-receipt-to recipient name and address, if provided
|
static jakarta.mail.internet.MimeMessage |
signAndOrEncryptMessageWithSmime(@NotNull jakarta.mail.Session session,
@NotNull jakarta.mail.internet.MimeMessage messageToProtect,
@NotNull Email emailContainingSmimeDetails)
Depending on the Email configuration, signs and then encrypts message (both steps optional), using the S/MIME module.
|
static jakarta.mail.internet.MimeMessage |
signMessageWithDKIM(@NotNull jakarta.mail.internet.MimeMessage messageToSign,
@NotNull Email emailContainingSigningDetails) |
static boolean |
validate(@NotNull Email email)
Delegates to #validate(Email, EmailValidator) with a null validator.
|
static boolean |
validate(@NotNull Email email,
@Nullable com.sanctionco.jmail.EmailValidator emailValidator)
Delegates to all other validations for a full checkup.
|
static void |
validateAddresses(@NotNull Email email,
@Nullable com.sanctionco.jmail.EmailValidator emailValidator)
If email validator is provided, checks:
from recipient
all TO/CC/BCC recipients
reply-to recipient, if provided
bounce-to recipient, if provided
disposition-notification-to recipient, if provided
return-receipt-to recipient, if provided
|
static void |
validateCompleteness(@NotNull Email email)
Checks whether the following RFC 5322 mandatory properties are present:
there are recipients
if there is a sender
|
static boolean |
validateLenient(@NotNull Email email)
Delegate to #validateLenient(Email, EmailValidator) with a null validator.
|
static boolean |
validateLenient(@NotNull Email email,
@Nullable com.sanctionco.jmail.EmailValidator emailValidator)
Lenient validation only checks for missing fields (which implies incorrect configuration or missing data),
but only warns for invalid address and suspected CRLF injections.
|
public static boolean validate(@NotNull @NotNull Email email) throws MailException
MailException
public static boolean validate(@NotNull @NotNull Email email, @Nullable @Nullable com.sanctionco.jmail.EmailValidator emailValidator) throws MailException
public static boolean validateLenient(@NotNull @NotNull Email email) throws MailException
MailException
public static boolean validateLenient(@NotNull @NotNull Email email, @Nullable @Nullable com.sanctionco.jmail.EmailValidator emailValidator) throws MailException
public static void validateCompleteness(@NotNull @NotNull Email email)
public static void validateAddresses(@NotNull @NotNull Email email, @Nullable @Nullable com.sanctionco.jmail.EmailValidator emailValidator)
public static void scanForInjectionAttacks(@NotNull @NotNull Email email)
public static void scanForInjectionAttack(@Nullable @Nullable String value, String valueLabel)
value
- Value checked for suspicious newline characters "\n", "\r" and the URL-encoded newline "%0A" (as acknowledged by SMTP servers).valueLabel
- The name of the field being checked, used for reporting exceptions.public static jakarta.mail.internet.MimeMessage signMessageWithDKIM(@NotNull @NotNull jakarta.mail.internet.MimeMessage messageToSign, @NotNull @NotNull Email emailContainingSigningDetails)
DKIMModule.signMessageWithDKIM(Email, MimeMessage, DkimConfig, Recipient)
public static jakarta.mail.internet.MimeMessage signAndOrEncryptMessageWithSmime(@NotNull @NotNull jakarta.mail.Session session, @NotNull @NotNull jakarta.mail.internet.MimeMessage messageToProtect, @NotNull @NotNull Email emailContainingSmimeDetails)
SMIMEModule.signMessageWithSmime(Session, Email, MimeMessage, Pkcs12Config)
,
SMIMEModule.encryptMessageWithSmime(Session, Email, MimeMessage, X509Certificate)
Copyright © 2009–2023. All rights reserved.