Comments (6)
Hi @ValCanBuild
This is very tricky to fix. There is a thread in #301 about this.
from emailvalidator.
@egulias I don't quite understand how the two issues are connected. I believe this one mainly has to do with the DNSCheckValidation->checkDns
function and how it only gets the last part of a host and not the whole thing.
Wouldn't it be possible to apply a fix there?
MX records should exist at the dns name equal to whatever is behind the @ in the email address. So only checking the parent domain is a bug. Source: https://www.nslookup.io/learning/dns-record-types/mx/#mx-records-below-the-zone-root
from emailvalidator.
@egulias I believe the issue might have been caused by this change: #355
There's a valid test case for this inside DNSCheckValidationTest
but it's marked as skipped for some reason:
https://github.com/egulias/EmailValidator/blob/97c28cd611278a5686b7f8b47f4136472bebbe1f/tests/EmailValidator/Validation/DNSCheckValidationTest.php#LL97C33-L97C33
public function testDNSWarnings()
{
$this->markTestSkipped('Need to found a domain with AAAA records and no MX that fails later in the validations');
$validation = new DNSCheckValidation();
$expectedWarnings = [NoDNSMXRecord::CODE => new NoDNSMXRecord()];
$validation->isValid("[email protected]", new EmailLexer());
$this->assertEquals($expectedWarnings, $validation->getWarnings());
}
from emailvalidator.
@egulias just pinging again on this as I believe it's an open bug in 4.0.1 and above versions of the library.
from emailvalidator.
Hi @ValCanBuild
The reason is written in the skipping function
Need to found a domain with AAAA records and no MX that fails later in the validations
The thing is I haven't been able to actually test the code that does that type of validation because it looks like it either pass or fails at other points.
And also need a domain with AAAA and no MX.
I'm happy to review a PR with a proposed fix.
from emailvalidator.
@egulias here's a domain with AAAA records or no MX records you can use for the test: dnslookup.io
Proof: https://www.nslookup.io/domains/dnslookup.io/dns-records/
from emailvalidator.
Related Issues (20)
- Why is [email protected] valid? HOT 5
- DNS record check should pass if email address has no top-level domain HOT 5
- Support Doctrine Lexer v2.x + v3.x HOT 3
- Several changes did not make it in 3.2.2 (Bad merge?) HOT 33
- Test ticket from Code Climate
- Constructor DNSRecords may be passed a bool as first argument
- Migration Guide V3 => V4 HOT 4
- Trailing non-breaking space is valid? HOT 1
- RE: Emails with no top level domain suffix are coming through as valid HOT 5
- 3.x branch EOL date? HOT 1
- 4.x errors with laravel 9
- Since symfony/validator 6.2: The "loose" mode is deprecated. It will be removed in 7.0 and the default mode will be changed to "html5" HOT 5
- Validation permits NUL bytes HOT 1
- test @testmail.com is marked as a valid email HOT 2
- Validation passes for misspelt email addresses. HOT 4
- ExpectingQPair.php does not comply with psr-4 autoloading standard. Skipping.
- DNSCheckValidation returns true for all HOT 1
- dns_get_record in src/Validation/DNSCheckValidation.php return false for outlook emails.
- Should domains with "void.blackhole.mx." be considered valid ? 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 emailvalidator.