Releases: RohanNagar/jmail
Releases · RohanNagar/jmail
v1.6.3
- Fix bug where email addresses containing control characters in the local-part were incorrectly considered valid. (Thanks @PascalSchumacher for reporting!)
- Add new methods
ifValid(Consumer<Email> action)
andifValidOrElse(Consumer<Email> action, Consumer<FailureReason> failureAction)
to theEmailValidationResult
object.
v1.6.2
- Fix bug where IPv4 addresses with non-arabic numerals would incorrectly be considered valid. (Thanks @harrel56 for reporting!)
- Fix bug where IPv4 addresses with extraneous leading zeros would incorrectly be considered valid. (Thanks @harrel56 for reporting!)
- The
requireValidMXRecord()
validation rule now correctly fails validation for domains that use a "Null MX" record. (Thanks @elmolm for contributing! 🎉)
v1.6.1
- Fix bug so that email addresses that end in a dash
-
character now correctly fail validation with the reasonFailureReason.DOMAIN_PART_ENDS_WITH_DASH
instead of incorrectly returningFailureReason.ENDS_WITH_DOT
. (Thanks @tbatchlear for reporting!)
v1.6.0
- Add a new rule
requireAscii()
that considers an email address containing non-ASCII characters to be invalid. (Thanks @frodeto for suggesting!) - Add new property
isAscii()
onEmail
objects that returns if the email address only contains ASCII characters or not. - Add option to strip quotes within the local-part of an email address when normalizing the address with the
normalize()
method. (Thanks @tdelaney-leadiro for suggesting!)- This new option will remove quotes if the email address would still be valid and semantically the same without them.
- To enable the option, either:
- Call the normalize method that takes a boolean as the parameter, and use
true
. Example:email.normalize(true)
- Set the
-Djmail.normalize.strip.quotes=true
JVM property at runtime, and continue to use thenormalize()
method without parameters.
- Call the normalize method that takes a boolean as the parameter, and use
v1.5.1
- Add a new rule
requireValidMXRecord(int initialTimeout, int numRetries)
that allows for customization of the timeout for DNS lookups. (Thanks @dotneutron for suggesting!) - Reduce the default timeout for DNS lookups when adding the
requireValidMXRecord()
rule to anEmailValidator
from potentially taking a maximum of 25 seconds to a maximum of 600 milliseconds.
v1.5.0
- Add new method
validate(String email)
that returns anEmailValidationResult
object, containing the reason for validation failure upon failure. (Thanks @bobharner for suggesting!) - Add new
ValidationRule
requireValidMXRecord()
to consider email addresses that have a domain with no MX record in DNS as invalid. (Thanks @lpellegr for suggesting!) - Fix bug where an email address that ends with a comment that is missing the closing parentheses were incorrectly considered as valid. For example:
test@test.com(comment
v1.4.1
- Add new
ValidationRule
disallowObsoleteWhitespace()
to consider email addresses with obsolete whitespace as invalid. (Thanks @PascalSchumacher for suggesting!)
v1.4.0
- Add new
normalized()
method on theEmail
class to provide a way to get a "normalized" version of an email address (the address without any comments or optional parts).
v1.3.3
- Fix bug where invalid characters in the domain could result in an
IllegalArgumentException
instead of returning false. (Thanks @PascalSchumacher for reporting!)
v1.3.2
- Fix bug where domain names that contained an emoji would be incorrectly invalid. (Thanks @Autom8edChaos for reporting!)