Comments (5)
Thanks for the suggestion! I will spend some time in the next week looking into this. It may be a useful feature to add.
from jmail.
If this can help, here is a very basic method relying on dnsjava library:
import org.xbill.DNS.Lookup;
import org.xbill.DNS.Record;
import org.xbill.DNS.TextParseException;
import org.xbill.DNS.Type;
public boolean hasMxRecord(final String email) {
final String[] chunks = email.split("@");
if (chunks.length < 2) {
return false;
}
try {
final Record[] records = new Lookup(chunks[1], Type.MX).run();
return records != null && records.length > 0;
} catch (TextParseException e) {
return false;
}
}
from jmail.
Thanks! The dnsjava
library looks nice. I will use it as a reference when implementing this as I don't want to bring in any dependencies to jmail
.
from jmail.
If you need this functionality in the meantime, you can add your own validation rule to your EmailValidator
like this:
EmailValidator validator = JMail.validator()
.withRule(email -> {
try {
Records[] records = new Lookup(email.domainWithoutComments(), Type.MX).run();
return records != null && records.length > 0;
} catch (Exception e) {
return false;
}
});
boolean valid = validator.isValid("[email protected]");
from jmail.
Hi @lpellegr I have added this option to the library, which is now available in version 1.5.0
.
You can use it as such:
EmailValidator validator = JMail.validator().requireValidMXRecord();
boolean valid = validator.isValid("[email protected]");
Please let me know if you run into any issues with this feature!
from jmail.
Related Issues (20)
- When validation fails, provide a reason to the caller HOT 4
- E-Mail Address Validation on https://www.rohannagar.com/jmail/ broken HOT 4
- Valid email shown as invalid HOT 8
- Question: E-Mail Address with local part containing only slashes valid? HOT 3
- Provide distinct failure reasons for each built-in rule and provide option for specifying custom failure reasons HOT 1
- Add ability to get the ASCII only version of an Email HOT 5
- Make timeout configurable for DNS MX record lookup HOT 2
- Support for configuring non-ascii characters to be invalid HOT 2
- Provide option to unquote localparts when normalising HOT 2
- Improve email address normalization HOT 3
- Add changelog file HOT 3
- Does not work for email Ids containing spaces HOT 1
- Validation reason is incorrectly called FAILED_CUSTOM_VALIDATION HOT 1
- Failure Reason incorrect HOT 1
- IPv4 validation allows non-standard digit characters HOT 3
- Question: preceding zeros in IPv4 address HOT 5
- Support no service resource record for domains that accept no mail "Null MX" HOT 2
- invalid address returning true HOT 2
- Add documentation for all default validation rules HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jmail.