From c1c406a03f7f4929fc9f0b03b273a26143133a4a Mon Sep 17 00:00:00 2001 From: Eduardo Gulias Davis Date: Mon, 9 May 2016 23:55:49 +0200 Subject: [PATCH] using tests from original is_email function (#104) --- .../Validation/IsEmailFunctionTests.php | 44 + Tests/resources/is_email_tests.xml | 1226 +++++++++++++++++ 2 files changed, 1270 insertions(+) create mode 100644 Tests/EmailValidator/Validation/IsEmailFunctionTests.php create mode 100644 Tests/resources/is_email_tests.xml diff --git a/Tests/EmailValidator/Validation/IsEmailFunctionTests.php b/Tests/EmailValidator/Validation/IsEmailFunctionTests.php new file mode 100644 index 0000000..511182b --- /dev/null +++ b/Tests/EmailValidator/Validation/IsEmailFunctionTests.php @@ -0,0 +1,44 @@ +assertFalse($validator->isValid($email, $validations), "Tested email " . $email); + + } + + public function isEmailTestSuite() + { + $testSuite = dirname(__FILE__) . '/../../resources/is_email_tests.xml'; + $document = new \DOMDocument(); + $document->load($testSuite); + $elements = $document->getElementsByTagName('test'); + $tests = []; + + foreach($elements as $testElement) { + $childNode = $testElement->childNodes; + $tests[][] = ($childNode->item(1)->getAttribute('value')); + } + + return $tests; + } + +} diff --git a/Tests/resources/is_email_tests.xml b/Tests/resources/is_email_tests.xml new file mode 100644 index 0000000..c19d94a --- /dev/null +++ b/Tests/resources/is_email_tests.xml @@ -0,0 +1,1226 @@ + + + + +

New test set

+

This test set is designed to replace and extend the coverage of the original set but with fewer tests.

+

Thanks to Michael Rushton (michael@squiloople.com) for starting this work and contributing tests 1-100

+
+ +
+ ISEMAIL_ERR + ISEMAIL_ERR_NODOMAIN + Michael Rushton + http://squiloople.com/tag/email/ + + +
test
+ ISEMAIL_ERR + ISEMAIL_ERR_NODOMAIN + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
@
+ ISEMAIL_ERR + ISEMAIL_ERR_NOLOCALPART + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@
+ ISEMAIL_ERR + ISEMAIL_ERR_NODOMAIN + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@io
+ io. currently has an MX-record (Feb 2011). Some DNS setups seem to find it, some don't. If you don't see the MX for io. then try setting your DNS server to 8.8.8.8 (the Google DNS server) + ISEMAIL_VALID_CATEGORY + ISEMAIL_VALID + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
@io
+ io. currently has an MX-record (Feb 2011) + ISEMAIL_ERR + ISEMAIL_ERR_NOLOCALPART + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
@iana.org
+ ISEMAIL_ERR + ISEMAIL_ERR_NOLOCALPART + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@iana.org
+ ISEMAIL_VALID_CATEGORY + ISEMAIL_VALID + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@nominet.org.uk
+ ISEMAIL_VALID_CATEGORY + ISEMAIL_VALID + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@about.museum
+ ISEMAIL_VALID_CATEGORY + ISEMAIL_VALID + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
a@iana.org
+ ISEMAIL_VALID_CATEGORY + ISEMAIL_VALID + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@e.com
+ ISEMAIL_DNSWARN + ISEMAIL_DNSWARN_NO_RECORD + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@iana.a
+ ISEMAIL_DNSWARN + ISEMAIL_DNSWARN_NO_RECORD + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test.test@iana.org
+ ISEMAIL_VALID_CATEGORY + ISEMAIL_VALID + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
.test@iana.org
+ ISEMAIL_ERR + ISEMAIL_ERR_DOT_START + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test.@iana.org
+ ISEMAIL_ERR + ISEMAIL_ERR_DOT_END + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test..iana.org
+ ISEMAIL_ERR + ISEMAIL_ERR_CONSECUTIVEDOTS + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test_exa-mple.com
+ ISEMAIL_ERR + ISEMAIL_ERR_NODOMAIN + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
!#$%&`*+/=?^`{|}~@iana.org
+ ISEMAIL_VALID_CATEGORY + ISEMAIL_VALID + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test\@test@iana.org
+ ISEMAIL_ERR + ISEMAIL_ERR_EXPECTING_ATEXT + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
123@iana.org
+ ISEMAIL_VALID_CATEGORY + ISEMAIL_VALID + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@123.com
+ ISEMAIL_VALID_CATEGORY + ISEMAIL_VALID + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@iana.123
+ ISEMAIL_RFC5321 + ISEMAIL_RFC5321_TLDNUMERIC + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@255.255.255.255
+ ISEMAIL_RFC5321 + ISEMAIL_RFC5321_TLDNUMERIC + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghiklm@iana.org
+ ISEMAIL_VALID_CATEGORY + ISEMAIL_VALID + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghiklmn@iana.org
+ ISEMAIL_RFC5322 + ISEMAIL_RFC5322_LOCAL_TOOLONG + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghikl.com
+ ISEMAIL_DNSWARN + ISEMAIL_DNSWARN_NO_RECORD + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghiklm.com
+ ISEMAIL_RFC5322 + ISEMAIL_RFC5322_LABEL_TOOLONG + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@mason-dixon.com
+ ISEMAIL_VALID_CATEGORY + ISEMAIL_VALID + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@-iana.org
+ ISEMAIL_ERR + ISEMAIL_ERR_DOMAINHYPHENSTART + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@iana-.com
+ ISEMAIL_ERR + ISEMAIL_ERR_DOMAINHYPHENEND + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@c--n.com
+ c--n.com currently has an MX-record (May 2011) + ISEMAIL_VALID_CATEGORY + ISEMAIL_VALID + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@iana.co-uk
+ ISEMAIL_DNSWARN + ISEMAIL_DNSWARN_NO_RECORD + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@.iana.org
+ ISEMAIL_ERR + ISEMAIL_ERR_DOT_START + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@iana.org.
+ ISEMAIL_ERR + ISEMAIL_ERR_DOT_END + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@iana..com
+ ISEMAIL_ERR + ISEMAIL_ERR_CONSECUTIVEDOTS + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
a@a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v
+ ISEMAIL_DNSWARN + ISEMAIL_DNSWARN_NO_RECORD + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghiklm@abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghikl.abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghikl.abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghi
+ ISEMAIL_DNSWARN + ISEMAIL_DNSWARN_NO_RECORD + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghiklm@abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghikl.abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghikl.abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghij
+ ISEMAIL_RFC5322 + ISEMAIL_RFC5322_TOOLONG + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
a@abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghikl.abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghikl.abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghikl.abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefg.hij
+ ISEMAIL_RFC5322 + ISEMAIL_RFC5322_TOOLONG + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
a@abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghikl.abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghikl.abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghikl.abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefg.hijk
+ ISEMAIL_RFC5322 + ISEMAIL_RFC5322_DOMAIN_TOOLONG + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
"test"@iana.org
+ ISEMAIL_RFC5321 + ISEMAIL_RFC5321_QUOTEDSTRING + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
""@iana.org
+ ISEMAIL_RFC5321 + ISEMAIL_RFC5321_QUOTEDSTRING + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
"""@iana.org
+ ISEMAIL_ERR + ISEMAIL_ERR_EXPECTING_ATEXT + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
"\a"@iana.org
+ ISEMAIL_RFC5321 + ISEMAIL_RFC5321_QUOTEDSTRING + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
"\""@iana.org
+ ISEMAIL_RFC5321 + ISEMAIL_RFC5321_QUOTEDSTRING + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
"\"@iana.org
+ ISEMAIL_ERR + ISEMAIL_ERR_UNCLOSEDQUOTEDSTR + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
"\\"@iana.org
+ ISEMAIL_RFC5321 + ISEMAIL_RFC5321_QUOTEDSTRING + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test"@iana.org
+ ISEMAIL_ERR + ISEMAIL_ERR_EXPECTING_ATEXT + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
"test@iana.org
+ ISEMAIL_ERR + ISEMAIL_ERR_UNCLOSEDQUOTEDSTR + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
"test"test@iana.org
+ ISEMAIL_ERR + ISEMAIL_ERR_ATEXT_AFTER_QS + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test"text"@iana.org
+ ISEMAIL_ERR + ISEMAIL_ERR_EXPECTING_ATEXT + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
"test""test"@iana.org
+ ISEMAIL_ERR + ISEMAIL_ERR_EXPECTING_ATEXT + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
"test"."test"@iana.org
+ ISEMAIL_DEPREC + ISEMAIL_DEPREC_LOCALPART + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
"test\ test"@iana.org
+ ISEMAIL_RFC5321 + ISEMAIL_RFC5321_QUOTEDSTRING + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
"test".test@iana.org
+ ISEMAIL_DEPREC + ISEMAIL_DEPREC_LOCALPART + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
"test␀"@iana.org
+ ISEMAIL_ERR + ISEMAIL_ERR_EXPECTING_QTEXT + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
"test\␀"@iana.org
+ ISEMAIL_DEPREC + ISEMAIL_DEPREC_QP + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
"abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghj"@iana.org
+ Quotes are still part of the length restriction + ISEMAIL_RFC5322 + ISEMAIL_RFC5322_LOCAL_TOOLONG + Dominic Sayers + http://isemail.info +
+ +
"abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefg\h"@iana.org
+ Quoted pair is still part of the length restriction + ISEMAIL_RFC5322 + ISEMAIL_RFC5322_LOCAL_TOOLONG + Dominic Sayers + http://isemail.info +
+ +
test@[255.255.255.255]
+ ISEMAIL_RFC5321 + ISEMAIL_RFC5321_ADDRESSLITERAL + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@a[255.255.255.255]
+ ISEMAIL_ERR + ISEMAIL_ERR_EXPECTING_ATEXT + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@[255.255.255]
+ ISEMAIL_RFC5322 + ISEMAIL_RFC5322_DOMAINLITERAL + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@[255.255.255.255.255]
+ ISEMAIL_RFC5322 + ISEMAIL_RFC5322_DOMAINLITERAL + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@[255.255.255.256]
+ ISEMAIL_RFC5322 + ISEMAIL_RFC5322_DOMAINLITERAL + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@[1111:2222:3333:4444:5555:6666:7777:8888]
+ ISEMAIL_RFC5322 + ISEMAIL_RFC5322_DOMAINLITERAL + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@[IPv6:1111:2222:3333:4444:5555:6666:7777]
+ ISEMAIL_RFC5322 + ISEMAIL_RFC5322_IPV6_GRPCOUNT + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@[IPv6:1111:2222:3333:4444:5555:6666:7777:8888]
+ ISEMAIL_RFC5321 + ISEMAIL_RFC5321_ADDRESSLITERAL + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@[IPv6:1111:2222:3333:4444:5555:6666:7777:8888:9999]
+ ISEMAIL_RFC5322 + ISEMAIL_RFC5322_IPV6_GRPCOUNT + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@[IPv6:1111:2222:3333:4444:5555:6666:7777:888G]
+ ISEMAIL_RFC5322 + ISEMAIL_RFC5322_IPV6_BADCHAR + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@[IPv6:1111:2222:3333:4444:5555:6666::8888]
+ ISEMAIL_DEPREC + ISEMAIL_RFC5321_IPV6DEPRECATED + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@[IPv6:1111:2222:3333:4444:5555::8888]
+ ISEMAIL_RFC5321 + ISEMAIL_RFC5321_ADDRESSLITERAL + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@[IPv6:1111:2222:3333:4444:5555:6666::7777:8888]
+ ISEMAIL_RFC5322 + ISEMAIL_RFC5322_IPV6_MAXGRPS + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@[IPv6::3333:4444:5555:6666:7777:8888]
+ ISEMAIL_RFC5322 + ISEMAIL_RFC5322_IPV6_COLONSTRT + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@[IPv6:::3333:4444:5555:6666:7777:8888]
+ ISEMAIL_RFC5321 + ISEMAIL_RFC5321_ADDRESSLITERAL + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@[IPv6:1111::4444:5555::8888]
+ ISEMAIL_RFC5322 + ISEMAIL_RFC5322_IPV6_2X2XCOLON + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@[IPv6:::]
+ ISEMAIL_RFC5321 + ISEMAIL_RFC5321_ADDRESSLITERAL + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@[IPv6:1111:2222:3333:4444:5555:255.255.255.255]
+ ISEMAIL_RFC5322 + ISEMAIL_RFC5322_IPV6_GRPCOUNT + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@[IPv6:1111:2222:3333:4444:5555:6666:255.255.255.255]
+ ISEMAIL_RFC5321 + ISEMAIL_RFC5321_ADDRESSLITERAL + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@[IPv6:1111:2222:3333:4444:5555:6666:7777:255.255.255.255]
+ ISEMAIL_RFC5322 + ISEMAIL_RFC5322_IPV6_GRPCOUNT + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@[IPv6:1111:2222:3333:4444::255.255.255.255]
+ ISEMAIL_RFC5321 + ISEMAIL_RFC5321_ADDRESSLITERAL + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@[IPv6:1111:2222:3333:4444:5555:6666::255.255.255.255]
+ ISEMAIL_RFC5322 + ISEMAIL_RFC5322_IPV6_MAXGRPS + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@[IPv6:1111:2222:3333:4444:::255.255.255.255]
+ ISEMAIL_RFC5322 + ISEMAIL_RFC5322_IPV6_2X2XCOLON + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@[IPv6::255.255.255.255]
+ ISEMAIL_RFC5322 + ISEMAIL_RFC5322_IPV6_COLONSTRT + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test @iana.org
+ ISEMAIL_DEPREC + ISEMAIL_DEPREC_CFWS_NEAR_AT + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@ iana .com
+ ISEMAIL_DEPREC + ISEMAIL_DEPREC_CFWS_NEAR_AT + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test . test@iana.org
+ ISEMAIL_DEPREC + ISEMAIL_DEPREC_FWS + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
␍␊ test@iana.org
+ FWS + ISEMAIL_CFWS + ISEMAIL_CFWS_FWS + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
␍␊ ␍␊ test@iana.org
+ FWS with one line composed entirely of WSP -- only allowed as obsolete FWS (someone might allow only non-obsolete FWS) + ISEMAIL_DEPREC + ISEMAIL_DEPREC_FWS + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
(comment)test@iana.org
+ ISEMAIL_CFWS + ISEMAIL_CFWS_COMMENT + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
((comment)test@iana.org
+ ISEMAIL_ERR + ISEMAIL_ERR_UNCLOSEDCOMMENT + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
(comment(comment))test@iana.org
+ ISEMAIL_CFWS + ISEMAIL_CFWS_COMMENT + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@(comment)iana.org
+ ISEMAIL_DEPREC + ISEMAIL_DEPREC_CFWS_NEAR_AT + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test(comment)test@iana.org
+ ISEMAIL_ERR + ISEMAIL_ERR_ATEXT_AFTER_CFWS + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@(comment)[255.255.255.255]
+ ISEMAIL_DEPREC + ISEMAIL_DEPREC_CFWS_NEAR_AT + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
(comment)abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghiklm@iana.org
+ ISEMAIL_CFWS + ISEMAIL_CFWS_COMMENT + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@(comment)abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghikl.com
+ ISEMAIL_DEPREC + ISEMAIL_DEPREC_CFWS_NEAR_AT + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
(comment)test@abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghik.abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghik.abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijk.abcdefghijklmnopqrstuvwxyzabcdefghijk.abcdefghijklmnopqrstu
+ ISEMAIL_CFWS + ISEMAIL_CFWS_COMMENT + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@iana.org␊
+ ISEMAIL_ERR + ISEMAIL_ERR_EXPECTING_ATEXT + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
test@xn--hxajbheg2az3al.xn--jxalpdlp
+ A valid IDN from ICANN's IDN TLD evaluation gateway + ISEMAIL_VALID_CATEGORY + ISEMAIL_VALID + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
xn--test@iana.org
+ RFC 3490: "unless the + email standards are revised to invite the use of IDNA for local + parts, a domain label that holds the local part of an email address + SHOULD NOT begin with the ACE prefix, and even if it does, it is to + be interpreted literally as a local part that happens to begin with + the ACE prefix" + ISEMAIL_VALID_CATEGORY + ISEMAIL_VALID + Dominic Sayers + http://isemail.info +
+ +
test@iana.org-
+ ISEMAIL_ERR + ISEMAIL_ERR_DOMAINHYPHENEND + Dominic Sayers + http://isemail.info +
+ +
"test@iana.org
+ ISEMAIL_ERR + ISEMAIL_ERR_UNCLOSEDQUOTEDSTR + Dominic Sayers + http://isemail.info +
+ +
(test@iana.org
+ ISEMAIL_ERR + ISEMAIL_ERR_UNCLOSEDCOMMENT + Dominic Sayers + http://isemail.info +
+ +
test@(iana.org
+ ISEMAIL_ERR + ISEMAIL_ERR_UNCLOSEDCOMMENT + Dominic Sayers + http://isemail.info +
+ +
test@[1.2.3.4
+ ISEMAIL_ERR + ISEMAIL_ERR_UNCLOSEDDOMLIT + Dominic Sayers + http://isemail.info +
+ +
"test\"@iana.org
+ ISEMAIL_ERR + ISEMAIL_ERR_UNCLOSEDQUOTEDSTR + Dominic Sayers + http://isemail.info +
+ +
(comment\)test@iana.org
+ ISEMAIL_ERR + ISEMAIL_ERR_UNCLOSEDCOMMENT + Dominic Sayers + http://isemail.info +
+ +
test@iana.org(comment\)
+ ISEMAIL_ERR + ISEMAIL_ERR_UNCLOSEDCOMMENT + Dominic Sayers + http://isemail.info +
+ +
test@iana.org(comment\
+ ISEMAIL_ERR + ISEMAIL_ERR_BACKSLASHEND + Dominic Sayers + http://isemail.info +
+ +
test@[RFC-5322-domain-literal]
+ ISEMAIL_RFC5322 + ISEMAIL_RFC5322_DOMAINLITERAL + Dominic Sayers + http://isemail.info +
+ +
test@[RFC-5322]-domain-literal]
+ ISEMAIL_ERR + ISEMAIL_ERR_ATEXT_AFTER_DOMLIT + Dominic Sayers + http://isemail.info +
+ +
test@[RFC-5322-[domain-literal]
+ ISEMAIL_ERR + ISEMAIL_ERR_EXPECTING_DTEXT + Dominic Sayers + http://isemail.info +
+ +
test@[RFC-5322-\␇-domain-literal]
+ obs-dtext and obs-qp + ISEMAIL_RFC5322 + ISEMAIL_RFC5322_DOMLIT_OBSDTEXT + Dominic Sayers + http://isemail.info +
+ +
test@[RFC-5322-\␉-domain-literal]
+ ISEMAIL_RFC5322 + ISEMAIL_RFC5322_DOMLIT_OBSDTEXT + Dominic Sayers + http://isemail.info +
+ +
test@[RFC-5322-\]-domain-literal]
+ ISEMAIL_RFC5322 + ISEMAIL_RFC5322_DOMLIT_OBSDTEXT + Dominic Sayers + http://isemail.info +
+ +
test@[RFC-5322-domain-literal\]
+ ISEMAIL_ERR + ISEMAIL_ERR_UNCLOSEDDOMLIT + Dominic Sayers + http://isemail.info +
+ +
test@[RFC-5322-domain-literal\
+ ISEMAIL_ERR + ISEMAIL_ERR_BACKSLASHEND + Dominic Sayers + http://isemail.info +
+ +
test@[RFC 5322 domain literal]
+ Spaces are FWS in a domain literal + ISEMAIL_RFC5322 + ISEMAIL_RFC5322_DOMAINLITERAL + Dominic Sayers + http://isemail.info +
+ +
test@[RFC-5322-domain-literal] (comment)
+ ISEMAIL_RFC5322 + ISEMAIL_RFC5322_DOMAINLITERAL + Dominic Sayers + http://isemail.info +
+ +
@iana.org
+ ISEMAIL_ERR + ISEMAIL_ERR_EXPECTING_ATEXT + Dominic Sayers + http://isemail.info +
+ +
test@.org
+ ISEMAIL_ERR + ISEMAIL_ERR_EXPECTING_ATEXT + Dominic Sayers + http://isemail.info +
+ +
""@iana.org
+ ISEMAIL_DEPREC + ISEMAIL_DEPREC_QTEXT + Dominic Sayers + http://isemail.info +
+ +
"\"@iana.org
+ ISEMAIL_DEPREC + ISEMAIL_DEPREC_QP + Dominic Sayers + http://isemail.info +
+ +
()test@iana.org
+ ISEMAIL_DEPREC + ISEMAIL_DEPREC_CTEXT + Dominic Sayers + http://isemail.info +
+ +
test@iana.org␍
+ No LF after the CR + ISEMAIL_ERR + ISEMAIL_ERR_CR_NO_LF + Dominic Sayers + http://isemail.info +
+ +
␍test@iana.org
+ No LF after the CR + ISEMAIL_ERR + ISEMAIL_ERR_CR_NO_LF + Dominic Sayers + http://isemail.info +
+ +
"␍test"@iana.org
+ No LF after the CR + ISEMAIL_ERR + ISEMAIL_ERR_CR_NO_LF + Dominic Sayers + http://isemail.info +
+ +
(␍)test@iana.org
+ No LF after the CR + ISEMAIL_ERR + ISEMAIL_ERR_CR_NO_LF + Dominic Sayers + http://isemail.info +
+ +
test@iana.org(␍)
+ No LF after the CR + ISEMAIL_ERR + ISEMAIL_ERR_CR_NO_LF + Dominic Sayers + http://isemail.info +
+ +
␊test@iana.org
+ ISEMAIL_ERR + ISEMAIL_ERR_EXPECTING_ATEXT + Michael Rushton + http://squiloople.com/tag/email/ +
+ +
"␊"@iana.org
+ ISEMAIL_ERR + ISEMAIL_ERR_EXPECTING_QTEXT + Dominic Sayers + http://isemail.info +
+ +
"\␊"@iana.org
+ ISEMAIL_DEPREC + ISEMAIL_DEPREC_QP + Dominic Sayers + http://isemail.info +
+ +
(␊)test@iana.org
+ ISEMAIL_ERR + ISEMAIL_ERR_EXPECTING_CTEXT + Dominic Sayers + http://isemail.info +
+ +
␇@iana.org
+ ISEMAIL_ERR + ISEMAIL_ERR_EXPECTING_ATEXT + Dominic Sayers + http://isemail.info +
+ +
test@␇.org
+ ISEMAIL_ERR + ISEMAIL_ERR_EXPECTING_ATEXT + Dominic Sayers + http://isemail.info +
+ +
"␇"@iana.org
+ ISEMAIL_DEPREC + ISEMAIL_DEPREC_QTEXT + Dominic Sayers + http://isemail.info +
+ +
"\␇"@iana.org
+ ISEMAIL_DEPREC + ISEMAIL_DEPREC_QP + Dominic Sayers + http://isemail.info +
+ +
(␇)test@iana.org
+ ISEMAIL_DEPREC + ISEMAIL_DEPREC_CTEXT + Dominic Sayers + http://isemail.info +
+ +
␍␊test@iana.org
+ Not FWS because no actual white space + ISEMAIL_ERR + ISEMAIL_ERR_FWS_CRLF_END + Dominic Sayers + http://isemail.info +
+ +
␍␊ ␍␊test@iana.org
+ Not obs-FWS because there must be white space on each "fold" + ISEMAIL_ERR + ISEMAIL_ERR_FWS_CRLF_END + Dominic Sayers + http://isemail.info +
+ +
␍␊test@iana.org
+ Not FWS because no white space after the fold + ISEMAIL_ERR + ISEMAIL_ERR_FWS_CRLF_END + Dominic Sayers + http://isemail.info +
+ +
␍␊ test@iana.org
+ FWS + ISEMAIL_CFWS + ISEMAIL_CFWS_FWS + Dominic Sayers + http://isemail.info +
+ +
␍␊ ␍␊test@iana.org
+ Not FWS because no white space after the second fold + ISEMAIL_ERR + ISEMAIL_ERR_FWS_CRLF_END + Dominic Sayers + http://isemail.info +
+ +
␍␊␍␊test@iana.org
+ Not FWS because no white space after either fold + ISEMAIL_ERR + ISEMAIL_ERR_FWS_CRLF_X2 + Dominic Sayers + http://isemail.info +
+ +
␍␊␍␊ test@iana.org
+ Not FWS because no white space after the first fold + ISEMAIL_ERR + ISEMAIL_ERR_FWS_CRLF_X2 + Dominic Sayers + http://isemail.info +
+ +
test@iana.org␍␊
+ FWS + ISEMAIL_CFWS + ISEMAIL_CFWS_FWS + Dominic Sayers + http://isemail.info +
+ +
test@iana.org␍␊ ␍␊
+ FWS with one line composed entirely of WSP -- only allowed as obsolete FWS (someone might allow only non-obsolete FWS) + ISEMAIL_DEPREC + ISEMAIL_DEPREC_FWS + Dominic Sayers + http://isemail.info +
+ +
test@iana.org␍␊
+ Not FWS because no actual white space + ISEMAIL_ERR + ISEMAIL_ERR_FWS_CRLF_END + Dominic Sayers + http://isemail.info +
+ +
test@iana.org␍␊ ␍␊
+ Not obs-FWS because there must be white space on each "fold" + ISEMAIL_ERR + ISEMAIL_ERR_FWS_CRLF_END + Dominic Sayers + http://isemail.info +
+ +
test@iana.org ␍␊
+ Not FWS because no white space after the fold + ISEMAIL_ERR + ISEMAIL_ERR_FWS_CRLF_END + Dominic Sayers + http://isemail.info +
+ +
test@iana.org ␍␊
+ FWS + ISEMAIL_CFWS + ISEMAIL_CFWS_FWS + Dominic Sayers + http://isemail.info +
+ +
test@iana.org ␍␊ ␍␊
+ Not FWS because no white space after the second fold + ISEMAIL_ERR + ISEMAIL_ERR_FWS_CRLF_END + Dominic Sayers + http://isemail.info +
+ +
test@iana.org ␍␊␍␊
+ Not FWS because no white space after either fold + ISEMAIL_ERR + ISEMAIL_ERR_FWS_CRLF_X2 + Dominic Sayers + http://isemail.info +
+ +
test@iana.org ␍␊␍␊
+ Not FWS because no white space after the first fold + ISEMAIL_ERR + ISEMAIL_ERR_FWS_CRLF_X2 + Dominic Sayers + http://isemail.info +
+ +
test@iana.org
+ ISEMAIL_CFWS + ISEMAIL_CFWS_FWS + Dominic Sayers + http://isemail.info +
+ +
test@iana.org
+ ISEMAIL_CFWS + ISEMAIL_CFWS_FWS + Dominic Sayers + http://isemail.info +
+ +
test@[IPv6:1::2:]
+ ISEMAIL_RFC5322 + ISEMAIL_RFC5322_IPV6_COLONEND + Dominic Sayers + http://isemail.info +
+ +
"test\©"@iana.org
+ ISEMAIL_ERR + ISEMAIL_ERR_EXPECTING_QPAIR + Dominic Sayers + http://isemail.info +
+ +
test@iana/icann.org
+ ISEMAIL_RFC5322 + ISEMAIL_RFC5322_DOMAIN + Dominic Sayers + http://isemail.info +
+ +
test.(comment)test@iana.org
+ ISEMAIL_DEPREC + ISEMAIL_DEPREC_COMMENT + Dominic Sayers + http://isemail.info +
+ +
test@org
+ ISEMAIL_RFC5321 + ISEMAIL_RFC5321_TLD + Dominic Sayers + http://isemail.info +
+ +
test@test.com
+ test.com has an A-record but not an MX-record + ISEMAIL_DNSWARN + ISEMAIL_DNSWARN_NO_MX_RECORD + Dominic Sayers + http://isemail.info +
+ +
test@nic.no
+ nic.no currently has no MX-records or A-records (Feb 2011). If you are seeing an A-record for nic.io then try setting your DNS server to 8.8.8.8 (the Google DNS server) - your DNS server may be faking an A-record (OpenDNS does this, for instance). + ISEMAIL_DNSWARN + ISEMAIL_DNSWARN_NO_RECORD + Dominic Sayers + http://isemail.info +
+