RFC-compliant email address validation

Run all tests Run original test set Read more... Contact

Test package version 3.04

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 ([email protected]) for starting this work and contributing tests 1-100

Coverage: 98% (51 outcomes recorded / 52 defined). Missing outcomes: ISEMAIL_DNSWARN_NO_MX_RECORD

164 tests: 2 unexpected categories, 2 unexpected diagnoses

Address

Results Comments

Test #
1

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_NODOMAIN

addr-spec = local-part "@" domain
RFC 5322 section 3.4.1
Mailbox = Local-part "@" ( Domain / address-literal )
RFC 5321 section 4.1.2
Address has no domain part

test

Test #
2

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_NODOMAIN

addr-spec = local-part "@" domain
RFC 5322 section 3.4.1
Mailbox = Local-part "@" ( Domain / address-literal )
RFC 5321 section 4.1.2
Address has no domain part

@

Test #
3

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_NOLOCALPART

local-part = dot-atom / quoted-string / obs-local-part dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom-text = 1*atext *("." 1*atext) quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS] obs-local-part = word *("." word) word = atom / quoted-string atom = [CFWS] 1*atext [CFWS]
RFC 5322 section 3.4.1
Address has no local part

test@

Test #
4

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_NODOMAIN

addr-spec = local-part "@" domain
RFC 5322 section 3.4.1
Mailbox = Local-part "@" ( Domain / address-literal )
RFC 5321 section 4.1.2
Address has no domain part

test@io

Test #
5

Category
ISEMAIL_VALID_CATEGORY

Diagnosis
ISEMAIL_VALID

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)
Address is valid. Please note that this does not mean the address actually exists, nor even that the domain actually exists. This address could be issued by the domain owner without breaking the rules of any RFCs.

@io

Test #
6

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_NOLOCALPART

local-part = dot-atom / quoted-string / obs-local-part dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom-text = 1*atext *("." 1*atext) quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS] obs-local-part = word *("." word) word = atom / quoted-string atom = [CFWS] 1*atext [CFWS]
RFC 5322 section 3.4.1
io. currently has an MX-record (Feb 2011)
Address has no local part

@iana.org

Test #
7

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_NOLOCALPART

local-part = dot-atom / quoted-string / obs-local-part dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom-text = 1*atext *("." 1*atext) quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS] obs-local-part = word *("." word) word = atom / quoted-string atom = [CFWS] 1*atext [CFWS]
RFC 5322 section 3.4.1
Address has no local part

[email protected]

Test #
8

Category
ISEMAIL_VALID_CATEGORY

Diagnosis
ISEMAIL_VALID

Address is valid. Please note that this does not mean the address actually exists, nor even that the domain actually exists. This address could be issued by the domain owner without breaking the rules of any RFCs.

[email protected]

Test #
9

Category
ISEMAIL_VALID_CATEGORY

Diagnosis
ISEMAIL_VALID

Address is valid. Please note that this does not mean the address actually exists, nor even that the domain actually exists. This address could be issued by the domain owner without breaking the rules of any RFCs.

[email protected]

Test #
10

Category
ISEMAIL_VALID_CATEGORY

Diagnosis
ISEMAIL_VALID

Address is valid. Please note that this does not mean the address actually exists, nor even that the domain actually exists. This address could be issued by the domain owner without breaking the rules of any RFCs.

[email protected]

Test #
11

Category
ISEMAIL_VALID_CATEGORY

Diagnosis
ISEMAIL_VALID

Address is valid. Please note that this does not mean the address actually exists, nor even that the domain actually exists. This address could be issued by the domain owner without breaking the rules of any RFCs.

[email protected]

Test #
12

Category
ISEMAIL_DNSWARN

Diagnosis
ISEMAIL_DNSWARN_NO_RECORD

Couldn't find an MX record or an A-record for this domain
Other diagnoses: ISEMAIL_DNSWARN_NO_MX_RECORD

[email protected]

Test #
13

Category
ISEMAIL_DNSWARN

Diagnosis
ISEMAIL_DNSWARN_NO_RECORD

Couldn't find an MX record or an A-record for this domain
Other diagnoses: ISEMAIL_DNSWARN_NO_MX_RECORD

[email protected]

Test #
14

Category
ISEMAIL_VALID_CATEGORY

Diagnosis
ISEMAIL_VALID

Address is valid. Please note that this does not mean the address actually exists, nor even that the domain actually exists. This address could be issued by the domain owner without breaking the rules of any RFCs.

.[email protected]

Test #
15

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_DOT_START

local-part = dot-atom / quoted-string / obs-local-part dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom-text = 1*atext *("." 1*atext) quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS] obs-local-part = word *("." word) word = atom / quoted-string atom = [CFWS] 1*atext [CFWS]
RFC 5322 section 3.4.1
domain = dot-atom / domain-literal / obs-domain dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom-text = 1*atext *("." 1*atext)
RFC 5322 section 3.4.1
Domain = sub-domain *("." sub-domain)
RFC 5321 section 4.1.2
Neither part of the address may begin with a dot

test.@iana.org

Test #
16

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_DOT_END

local-part = dot-atom / quoted-string / obs-local-part dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom-text = 1*atext *("." 1*atext) quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS] obs-local-part = word *("." word) word = atom / quoted-string atom = [CFWS] 1*atext [CFWS]
RFC 5322 section 3.4.1
domain = dot-atom / domain-literal / obs-domain dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom-text = 1*atext *("." 1*atext)
RFC 5322 section 3.4.1
Domain = sub-domain *("." sub-domain)
RFC 5321 section 4.1.2
Neither part of the address may end with a dot

test..iana.org

Test #
17

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_CONSECUTIVEDOTS

local-part = dot-atom / quoted-string / obs-local-part dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom-text = 1*atext *("." 1*atext) quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS] obs-local-part = word *("." word) word = atom / quoted-string atom = [CFWS] 1*atext [CFWS]
RFC 5322 section 3.4.1
domain = dot-atom / domain-literal / obs-domain dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom-text = 1*atext *("." 1*atext)
RFC 5322 section 3.4.1
Domain = sub-domain *("." sub-domain)
RFC 5321 section 4.1.2
The address may not contain consecutive dots

test_exa-mple.com

Test #
18

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_NODOMAIN

addr-spec = local-part "@" domain
RFC 5322 section 3.4.1
Mailbox = Local-part "@" ( Domain / address-literal )
RFC 5321 section 4.1.2
Address has no domain part

!#$%&`*+/=?^`{|}[email protected]

Test #
19

Category
ISEMAIL_VALID_CATEGORY

Diagnosis
ISEMAIL_VALID

Address is valid. Please note that this does not mean the address actually exists, nor even that the domain actually exists. This address could be issued by the domain owner without breaking the rules of any RFCs.

test\@[email protected]

Test #
20

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_EXPECTING_ATEXT

atext = ALPHA / DIGIT / ; Printable US-ASCII "!" / "#" / ; characters not including "$" / "%" / ; specials. Used for atoms. "&" / "'" / "*" / "+" / "-" / "/" / "=" / "?" / "^" / "_" / "`" / "{" / "|" / "}" / "~"
RFC 5322 section 3.2.3
Address contains a character that is not allowed

[email protected]

Test #
21

Category
ISEMAIL_VALID_CATEGORY

Diagnosis
ISEMAIL_VALID

Address is valid. Please note that this does not mean the address actually exists, nor even that the domain actually exists. This address could be issued by the domain owner without breaking the rules of any RFCs.

[email protected]

Test #
22

Category
ISEMAIL_VALID_CATEGORY

Diagnosis
ISEMAIL_VALID

Address is valid. Please note that this does not mean the address actually exists, nor even that the domain actually exists. This address could be issued by the domain owner without breaking the rules of any RFCs.

[email protected]

Test #
23

Category
ISEMAIL_RFC5321

Diagnosis
ISEMAIL_RFC5321_TLDNUMERIC

Errata ID 1081, reported 2007-11-20, identifies a problem with the evolution of naming of top-level domains and the text of RFC 1123. It reads: Section 2.1 says: However, a valid host name can never have the dotted-decimal form #.#.#.#, since at least the highest-level component label will be alphabetic. It should say: However, a valid host name can never have the dotted-decimal form #.#.#.#, since at least the highest-level component label will be not all-numeric. Notes: RFC 3696 section 2 states: "There is an additional rule that essentially requires that top-level domain names not be all-numeric." The eleven IDN test TLDs created in September 2007 contain hyphen-minus as specified in the IDNA RFCs. It should say: However, a valid host name can never have the dotted-decimal form #.#.#.#, since this change does not permit the highest-level component label to start with a digit even if it is not all-numeric. Notes: This is a correct identification of the problem, but the wrong fix. RFC 3696, which ID 1081 cites, is an informational document that is deliberately relaxed about the fine details and says so. It is not relevant to determination of the text that should have been (with perfect knowledge of the future) in 1123. Based on discussions when we were doing RFC 1591 and subsequently, the expectation then (and presumably when 1123 was written) was that the name of any new TLD would follow the rules for the existing ones, i.e., that they would be exactly two or three characters long and be all-alphabetic (which is exactly what 1123 says). The slightly-odd "will be" language in 1123 was, I believe, because that restriction was expected to be enforced by IANA, rather than being a protocol issue. ICANN, with a different set of assignment policies, effectively eliminated the length rule with the TLDs allocated in 2000. IDNA (RFC 3490) uses a syntax for IDNs that requires embedded hyphens in TLDs if there were ever to be an actual IDN TLD (hence the comment in ID 1081 about the IANA IDN testbed). While the proposed correction in Errata ID 1081 would fix the problem by imposing the narrowest possible restriction ("not all-numeric"), the original host name rule and the original statement in 1123 both assume the possibility of a minimal check to differentiate between domain names and IP addresses, i.e., checking the first digit only. Because I believe that there are probably implementations that depend on such minimal parsing --some probably ancient and embedded-- it would appear to be wise to relax the rule as little as possible and, in particular, to restrict the "leading digit" exception to domains below the top-level, as 1123 effectively does. The suggested text above reflects that reasoning. Because of the possible consequences of this issue, I would hope that it would be discussed with the relevant DNS-related WGs, the Root Server Advisory Committee (RSAC), and with IANA for comment and as a heads-up. This issue is substantive enough that it should probably be dealt with by a document that explicitly updates 1123 and that is processed on the Standards Track, but an accurate statement in the errata is the next-best option until that can be done. In the interim and while this suggestion is being discussed, Errata ID 1081 should probably be taken out of "validated" status.
John Klensin, RFC 1123 erratum 1353
Address is valid but the Top Level Domain begins with a number
Other diagnoses: ISEMAIL_DNSWARN_NO_MX_RECORD, ISEMAIL_DNSWARN_NO_RECORD

[email protected]

Test #
24

Category
ISEMAIL_RFC5321

Diagnosis
ISEMAIL_RFC5321_TLDNUMERIC

Errata ID 1081, reported 2007-11-20, identifies a problem with the evolution of naming of top-level domains and the text of RFC 1123. It reads: Section 2.1 says: However, a valid host name can never have the dotted-decimal form #.#.#.#, since at least the highest-level component label will be alphabetic. It should say: However, a valid host name can never have the dotted-decimal form #.#.#.#, since at least the highest-level component label will be not all-numeric. Notes: RFC 3696 section 2 states: "There is an additional rule that essentially requires that top-level domain names not be all-numeric." The eleven IDN test TLDs created in September 2007 contain hyphen-minus as specified in the IDNA RFCs. It should say: However, a valid host name can never have the dotted-decimal form #.#.#.#, since this change does not permit the highest-level component label to start with a digit even if it is not all-numeric. Notes: This is a correct identification of the problem, but the wrong fix. RFC 3696, which ID 1081 cites, is an informational document that is deliberately relaxed about the fine details and says so. It is not relevant to determination of the text that should have been (with perfect knowledge of the future) in 1123. Based on discussions when we were doing RFC 1591 and subsequently, the expectation then (and presumably when 1123 was written) was that the name of any new TLD would follow the rules for the existing ones, i.e., that they would be exactly two or three characters long and be all-alphabetic (which is exactly what 1123 says). The slightly-odd "will be" language in 1123 was, I believe, because that restriction was expected to be enforced by IANA, rather than being a protocol issue. ICANN, with a different set of assignment policies, effectively eliminated the length rule with the TLDs allocated in 2000. IDNA (RFC 3490) uses a syntax for IDNs that requires embedded hyphens in TLDs if there were ever to be an actual IDN TLD (hence the comment in ID 1081 about the IANA IDN testbed). While the proposed correction in Errata ID 1081 would fix the problem by imposing the narrowest possible restriction ("not all-numeric"), the original host name rule and the original statement in 1123 both assume the possibility of a minimal check to differentiate between domain names and IP addresses, i.e., checking the first digit only. Because I believe that there are probably implementations that depend on such minimal parsing --some probably ancient and embedded-- it would appear to be wise to relax the rule as little as possible and, in particular, to restrict the "leading digit" exception to domains below the top-level, as 1123 effectively does. The suggested text above reflects that reasoning. Because of the possible consequences of this issue, I would hope that it would be discussed with the relevant DNS-related WGs, the Root Server Advisory Committee (RSAC), and with IANA for comment and as a heads-up. This issue is substantive enough that it should probably be dealt with by a document that explicitly updates 1123 and that is processed on the Standards Track, but an accurate statement in the errata is the next-best option until that can be done. In the interim and while this suggestion is being discussed, Errata ID 1081 should probably be taken out of "validated" status.
John Klensin, RFC 1123 erratum 1353
Address is valid but the Top Level Domain begins with a number
Other diagnoses: ISEMAIL_DNSWARN_NO_MX_RECORD, ISEMAIL_DNSWARN_NO_RECORD

[email protected]iana.org

Test #
25

Category
ISEMAIL_VALID_CATEGORY

Diagnosis
ISEMAIL_VALID

Address is valid. Please note that this does not mean the address actually exists, nor even that the domain actually exists. This address could be issued by the domain owner without breaking the rules of any RFCs.

abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghiklmn@iana.org

Test #
26

Category
ISEMAIL_RFC5322

Diagnosis
ISEMAIL_RFC5322_LOCAL_TOOLONG

The maximum total length of a user name or other local-part is 64 octets.
RFC 5322 section 4.5.3.1.1
The local part of the address is too long

[email protected]ikl.com

Test #
27

Category
ISEMAIL_DNSWARN

Diagnosis
ISEMAIL_DNSWARN_NO_RECORD

Couldn't find an MX record or an A-record for this domain
Other diagnoses: ISEMAIL_DNSWARN_NO_MX_RECORD

[email protected]iklm.com

Test #
28

Category
ISEMAIL_RFC5322

Diagnosis
ISEMAIL_RFC5322_LABEL_TOOLONG

labels 63 octets or less
RFC 5321 section 4.1.2
The domain part contains an element that is too long

[email protected]

Test #
29

Category
ISEMAIL_VALID_CATEGORY

Diagnosis
ISEMAIL_VALID

Address is valid. Please note that this does not mean the address actually exists, nor even that the domain actually exists. This address could be issued by the domain owner without breaking the rules of any RFCs.

test@-iana.org

Test #
30

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_DOMAINHYPHENSTART

Domain = sub-domain *("." sub-domain) Let-dig = ALPHA / DIGIT Ldh-str = *( ALPHA / DIGIT / "-" ) Let-dig
RFC 5321 section 4.1.2
A domain or subdomain cannot begin with a hyphen

test@iana-.com

Test #
31

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_DOMAINHYPHENEND

Domain = sub-domain *("." sub-domain) Let-dig = ALPHA / DIGIT Ldh-str = *( ALPHA / DIGIT / "-" ) Let-dig
RFC 5321 section 4.1.2
A domain or subdomain cannot end with a hyphen

[email protected]

Test #
32

Category
ISEMAIL_VALID_CATEGORY

Diagnosis
ISEMAIL_VALID

c--n.com currently has an MX-record (May 2011)
Address is valid. Please note that this does not mean the address actually exists, nor even that the domain actually exists. This address could be issued by the domain owner without breaking the rules of any RFCs.

[email protected]

Test #
33

Category
ISEMAIL_DNSWARN

Diagnosis
ISEMAIL_DNSWARN_NO_RECORD

Couldn't find an MX record or an A-record for this domain
Other diagnoses: ISEMAIL_DNSWARN_NO_MX_RECORD

test@.iana.org

Test #
34

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_DOT_START

local-part = dot-atom / quoted-string / obs-local-part dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom-text = 1*atext *("." 1*atext) quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS] obs-local-part = word *("." word) word = atom / quoted-string atom = [CFWS] 1*atext [CFWS]
RFC 5322 section 3.4.1
domain = dot-atom / domain-literal / obs-domain dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom-text = 1*atext *("." 1*atext)
RFC 5322 section 3.4.1
Domain = sub-domain *("." sub-domain)
RFC 5321 section 4.1.2
Neither part of the address may begin with a dot

[email protected]

Test #
35

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_DOT_END

local-part = dot-atom / quoted-string / obs-local-part dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom-text = 1*atext *("." 1*atext) quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS] obs-local-part = word *("." word) word = atom / quoted-string atom = [CFWS] 1*atext [CFWS]
RFC 5322 section 3.4.1
domain = dot-atom / domain-literal / obs-domain dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom-text = 1*atext *("." 1*atext)
RFC 5322 section 3.4.1
Domain = sub-domain *("." sub-domain)
RFC 5321 section 4.1.2
Neither part of the address may end with a dot

test@iana..com

Test #
36

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_CONSECUTIVEDOTS

local-part = dot-atom / quoted-string / obs-local-part dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom-text = 1*atext *("." 1*atext) quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS] obs-local-part = word *("." word) word = atom / quoted-string atom = [CFWS] 1*atext [CFWS]
RFC 5322 section 3.4.1
domain = dot-atom / domain-literal / obs-domain dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom-text = 1*atext *("." 1*atext)
RFC 5322 section 3.4.1
Domain = sub-domain *("." sub-domain)
RFC 5321 section 4.1.2
The address may not contain consecutive dots

[email protected].[email protected].[email protected].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

Test #
37

Category
ISEMAIL_DNSWARN

Diagnosis
ISEMAIL_DNSWARN_NO_RECORD

Couldn't find an MX record or an A-record for this domain
Other diagnoses: ISEMAIL_DNSWARN_NO_MX_RECORD

[email protected][email protected][email protected]cdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghi

Test #
38

Category
ISEMAIL_DNSWARN

Diagnosis
ISEMAIL_DNSWARN_NO_RECORD

Couldn't find an MX record or an A-record for this domain
Other diagnoses: ISEMAIL_DNSWARN_NO_MX_RECORD

[email protected][email protected][email protected]cdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghij

Test #
39

Category
ISEMAIL_RFC5322

Diagnosis
ISEMAIL_RFC5322_TOOLONG

However, there is a restriction in RFC 2821 on the length of an address in MAIL and RCPT commands of 254 characters. Since addresses that do not fit in those fields are not normally useful, the upper limit on address lengths should normally be considered to be 254.
Dominic Sayers, RFC 3696 erratum 1690
Address is too long

[email protected].[email protected][email protected]cdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefg.hij

Test #
40

Category
ISEMAIL_RFC5322

Diagnosis
ISEMAIL_RFC5322_TOOLONG

However, there is a restriction in RFC 2821 on the length of an address in MAIL and RCPT commands of 254 characters. Since addresses that do not fit in those fields are not normally useful, the upper limit on address lengths should normally be considered to be 254.
Dominic Sayers, RFC 3696 erratum 1690
Address is too long

[email protected].[email protected][email protected]cdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefg.hijk

Test #
41

Category
ISEMAIL_RFC5322

Diagnosis
ISEMAIL_RFC5322_DOMAIN_TOOLONG

The maximum total length of a domain name or number is 255 octets.
RFC 5321 section 4.5.3.1.2
The domain part is too long

"test"@iana.org

Test #
42

Category
ISEMAIL_RFC5321

Diagnosis
ISEMAIL_RFC5321_QUOTEDSTRING

quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS] qcontent = qtext / quoted-pair qtext = %d33 / ; Printable US-ASCII %d35-91 / ; characters not including %d93-126 / ; "\" or the quote character obs-qtext quoted-pair = ("\" (VCHAR / WSP)) / obs-qp
RFC 5322 section 3.4.1
Address is valid but contains a quoted string

""@iana.org

Test #
43

Category
ISEMAIL_RFC5321

Diagnosis
ISEMAIL_RFC5321_QUOTEDSTRING

quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS] qcontent = qtext / quoted-pair qtext = %d33 / ; Printable US-ASCII %d35-91 / ; characters not including %d93-126 / ; "\" or the quote character obs-qtext quoted-pair = ("\" (VCHAR / WSP)) / obs-qp
RFC 5322 section 3.4.1
Address is valid but contains a quoted string

"""@iana.org

Test #
44

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_EXPECTING_ATEXT

atext = ALPHA / DIGIT / ; Printable US-ASCII "!" / "#" / ; characters not including "$" / "%" / ; specials. Used for atoms. "&" / "'" / "*" / "+" / "-" / "/" / "=" / "?" / "^" / "_" / "`" / "{" / "|" / "}" / "~"
RFC 5322 section 3.2.3
Address contains a character that is not allowed
Other diagnoses: ISEMAIL_RFC5321_QUOTEDSTRING

"\a"@iana.org

Test #
45

Category
ISEMAIL_RFC5321

Diagnosis
ISEMAIL_RFC5321_QUOTEDSTRING

quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS] qcontent = qtext / quoted-pair qtext = %d33 / ; Printable US-ASCII %d35-91 / ; characters not including %d93-126 / ; "\" or the quote character obs-qtext quoted-pair = ("\" (VCHAR / WSP)) / obs-qp
RFC 5322 section 3.4.1
Address is valid but contains a quoted string

"\""@iana.org

Test #
46

Category
ISEMAIL_RFC5321

Diagnosis
ISEMAIL_RFC5321_QUOTEDSTRING

quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS] qcontent = qtext / quoted-pair qtext = %d33 / ; Printable US-ASCII %d35-91 / ; characters not including %d93-126 / ; "\" or the quote character obs-qtext quoted-pair = ("\" (VCHAR / WSP)) / obs-qp
RFC 5322 section 3.4.1
Address is valid but contains a quoted string

"\"@iana.org

Test #
47

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_UNCLOSEDQUOTEDSTR

quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS] qcontent = qtext / quoted-pair qtext = %d33 / ; Printable US-ASCII %d35-91 / ; characters not including %d93-126 / ; "\" or the quote character obs-qtext quoted-pair = ("\" (VCHAR / WSP)) / obs-qp
RFC 5322 section 3.4.1
Unclosed quoted string
Other diagnoses: ISEMAIL_RFC5321_QUOTEDSTRING

"\\"@iana.org

Test #
48

Category
ISEMAIL_RFC5321

Diagnosis
ISEMAIL_RFC5321_QUOTEDSTRING

quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS] qcontent = qtext / quoted-pair qtext = %d33 / ; Printable US-ASCII %d35-91 / ; characters not including %d93-126 / ; "\" or the quote character obs-qtext quoted-pair = ("\" (VCHAR / WSP)) / obs-qp
RFC 5322 section 3.4.1
Address is valid but contains a quoted string

test"@iana.org

Test #
49

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_EXPECTING_ATEXT

atext = ALPHA / DIGIT / ; Printable US-ASCII "!" / "#" / ; characters not including "$" / "%" / ; specials. Used for atoms. "&" / "'" / "*" / "+" / "-" / "/" / "=" / "?" / "^" / "_" / "`" / "{" / "|" / "}" / "~"
RFC 5322 section 3.2.3
Address contains a character that is not allowed

"[email protected]

Test #
50

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_UNCLOSEDQUOTEDSTR

quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS] qcontent = qtext / quoted-pair qtext = %d33 / ; Printable US-ASCII %d35-91 / ; characters not including %d93-126 / ; "\" or the quote character obs-qtext quoted-pair = ("\" (VCHAR / WSP)) / obs-qp
RFC 5322 section 3.4.1
Unclosed quoted string
Other diagnoses: ISEMAIL_RFC5321_QUOTEDSTRING

"test"[email protected]

Test #
51

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_ATEXT_AFTER_QS

local-part = dot-atom / quoted-string / obs-local-part dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom-text = 1*atext *("." 1*atext) quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS] obs-local-part = word *("." word) word = atom / quoted-string atom = [CFWS] 1*atext [CFWS]
RFC 5322 section 3.4.1
Address contains text after a quoted string
Other diagnoses: ISEMAIL_RFC5321_QUOTEDSTRING

test"text"@iana.org

Test #
52

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_EXPECTING_ATEXT

atext = ALPHA / DIGIT / ; Printable US-ASCII "!" / "#" / ; characters not including "$" / "%" / ; specials. Used for atoms. "&" / "'" / "*" / "+" / "-" / "/" / "=" / "?" / "^" / "_" / "`" / "{" / "|" / "}" / "~"
RFC 5322 section 3.2.3
Address contains a character that is not allowed

"test""test"@iana.org

Test #
53

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_EXPECTING_ATEXT

atext = ALPHA / DIGIT / ; Printable US-ASCII "!" / "#" / ; characters not including "$" / "%" / ; specials. Used for atoms. "&" / "'" / "*" / "+" / "-" / "/" / "=" / "?" / "^" / "_" / "`" / "{" / "|" / "}" / "~"
RFC 5322 section 3.2.3
Address contains a character that is not allowed
Other diagnoses: ISEMAIL_RFC5321_QUOTEDSTRING

"test"."test"@iana.org

Test #
54

Category
ISEMAIL_DEPREC

Diagnosis
ISEMAIL_DEPREC_LOCALPART

obs-local-part = word *("." word) word = atom / quoted-string atom = [CFWS] 1*atext [CFWS] quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS]
RFC 5322 section 3.4.1
The local part is in a deprecated form
Other diagnoses: ISEMAIL_RFC5321_QUOTEDSTRING

"test\test"@iana.org

Test #
55

Category
ISEMAIL_RFC5321

Diagnosis
ISEMAIL_RFC5321_QUOTEDSTRING

quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS] qcontent = qtext / quoted-pair qtext = %d33 / ; Printable US-ASCII %d35-91 / ; characters not including %d93-126 / ; "\" or the quote character obs-qtext quoted-pair = ("\" (VCHAR / WSP)) / obs-qp
RFC 5322 section 3.4.1
Address is valid but contains a quoted string

"test".[email protected]

Test #
56

Category
ISEMAIL_DEPREC

Diagnosis
ISEMAIL_DEPREC_LOCALPART

obs-local-part = word *("." word) word = atom / quoted-string atom = [CFWS] 1*atext [CFWS] quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS]
RFC 5322 section 3.4.1
The local part is in a deprecated form
Other diagnoses: ISEMAIL_RFC5321_QUOTEDSTRING

"test"@iana.org

Test #
57

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_EXPECTING_QTEXT

qtext = %d33 / ; Printable US-ASCII %d35-91 / ; characters not including %d93-126 / ; "\" or the quote character obs-qtext
RFC 5322 section 3.2.4
A quoted string contains a character that is not allowed
Other diagnoses: ISEMAIL_RFC5321_QUOTEDSTRING

"test\"@iana.org

Test #
58

Category
ISEMAIL_DEPREC

Diagnosis
ISEMAIL_DEPREC_QP

obs-qp = "\" (%d0 / obs-NO-WS-CTL / LF / CR) obs-NO-WS-CTL = %d1-8 / ; US-ASCII control %d11 / ; characters that do not %d12 / ; include the carriage %d14-31 / ; return, line feed, and %d127 ; white space characters
RFC 5322 section 4.1
A quoted pair contains a deprecated character
Other diagnoses: ISEMAIL_RFC5321_QUOTEDSTRING

"abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghj"@iana.org

Test #
59

Category
ISEMAIL_RFC5322

Diagnosis
ISEMAIL_RFC5322_LOCAL_TOOLONG

The maximum total length of a user name or other local-part is 64 octets.
RFC 5322 section 4.5.3.1.1
Quotes are still part of the length restriction
The local part of the address is too long
Other diagnoses: ISEMAIL_RFC5321_QUOTEDSTRING

"abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefg\h"@iana.org

Test #
60

Category
ISEMAIL_RFC5322

Diagnosis
ISEMAIL_RFC5322_LOCAL_TOOLONG

The maximum total length of a user name or other local-part is 64 octets.
RFC 5322 section 4.5.3.1.1
Quoted pair is still part of the length restriction
The local part of the address is too long
Other diagnoses: ISEMAIL_RFC5321_QUOTEDSTRING

test@[255.255.255.255]

Test #
61

Category
ISEMAIL_RFC5321

Diagnosis
ISEMAIL_RFC5321_ADDRESSLITERAL

address-literal = "[" ( IPv4-address-literal / IPv6-address-literal / General-address-literal ) "]"
RFC 5321 section 4.1.2
IPv4-address-literal = Snum 3("." Snum) Snum = 1*3DIGIT ; representing a decimal integer ; value in the range 0 through 255
RFC 5321 section 4.1.3
Address is valid but at a literal address not a domain

test@a[255.255.255.255]

Test #
62

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_EXPECTING_ATEXT

atext = ALPHA / DIGIT / ; Printable US-ASCII "!" / "#" / ; characters not including "$" / "%" / ; specials. Used for atoms. "&" / "'" / "*" / "+" / "-" / "/" / "=" / "?" / "^" / "_" / "`" / "{" / "|" / "}" / "~"
RFC 5322 section 3.2.3
Address contains a character that is not allowed

test@[255.255.255]

Test #
63

Category
ISEMAIL_RFC5322

Diagnosis
ISEMAIL_RFC5322_DOMAINLITERAL

domain-literal = [CFWS] "[" *([FWS] dtext) [FWS] "]" [CFWS]
RFC 5322 section 3.4.1
The domain literal is not a valid RFC 5321 address literal

test@[255.255.255.255.255]

Test #
64

Category
ISEMAIL_RFC5322

Diagnosis
ISEMAIL_RFC5322_DOMAINLITERAL

domain-literal = [CFWS] "[" *([FWS] dtext) [FWS] "]" [CFWS]
RFC 5322 section 3.4.1
The domain literal is not a valid RFC 5321 address literal

test@[255.255.255.256]

Test #
65

Category
ISEMAIL_RFC5322

Diagnosis
ISEMAIL_RFC5322_DOMAINLITERAL

domain-literal = [CFWS] "[" *([FWS] dtext) [FWS] "]" [CFWS]
RFC 5322 section 3.4.1
The domain literal is not a valid RFC 5321 address literal

test@[1111:2222:3333:4444:5555:6666:7777:8888]

Test #
66

Category
ISEMAIL_RFC5322

Diagnosis
ISEMAIL_RFC5322_DOMAINLITERAL

domain-literal = [CFWS] "[" *([FWS] dtext) [FWS] "]" [CFWS]
RFC 5322 section 3.4.1
The domain literal is not a valid RFC 5321 address literal

test@[IPv6:1111:2222:3333:4444:5555:6666:7777]

Test #
67

Category
ISEMAIL_RFC5322

Diagnosis
ISEMAIL_RFC5322_IPV6_GRPCOUNT

IPv6-address-literal = "IPv6:" IPv6-addr IPv6-addr = IPv6-full / IPv6-comp / IPv6v4-full / IPv6v4-comp IPv6-hex = 1*4HEXDIG IPv6-full = IPv6-hex 7(":" IPv6-hex) IPv6-comp = [IPv6-hex *5(":" IPv6-hex)] "::" [IPv6-hex *5(":" IPv6-hex)] ; The "::" represents at least 2 16-bit groups of ; zeros. No more than 6 groups in addition to the ; "::" may be present. IPv6v4-full = IPv6-hex 5(":" IPv6-hex) ":" IPv4-address-literal IPv6v4-comp = [IPv6-hex *3(":" IPv6-hex)] "::" [IPv6-hex *3(":" IPv6-hex) ":"] IPv4-address-literal ; The "::" represents at least 2 16-bit groups of ; zeros. No more than 4 groups in addition to the ; "::" and IPv4-address-literal may be present.
RFC 5321 section 4.1.3
The IPv6 literal address contains the wrong number of groups
Other diagnoses: ISEMAIL_RFC5321_ADDRESSLITERAL

test@[IPv6:1111:2222:3333:4444:5555:6666:7777:8888]

Test #
68

Category
ISEMAIL_RFC5321

Diagnosis
ISEMAIL_RFC5321_ADDRESSLITERAL

address-literal = "[" ( IPv4-address-literal / IPv6-address-literal / General-address-literal ) "]"
RFC 5321 section 4.1.2
IPv4-address-literal = Snum 3("." Snum) Snum = 1*3DIGIT ; representing a decimal integer ; value in the range 0 through 255
RFC 5321 section 4.1.3
Address is valid but at a literal address not a domain

test@[IPv6:1111:2222:3333:4444:5555:6666:7777:8888:9999]

Test #
69

Category
ISEMAIL_RFC5322

Diagnosis
ISEMAIL_RFC5322_IPV6_GRPCOUNT

IPv6-address-literal = "IPv6:" IPv6-addr IPv6-addr = IPv6-full / IPv6-comp / IPv6v4-full / IPv6v4-comp IPv6-hex = 1*4HEXDIG IPv6-full = IPv6-hex 7(":" IPv6-hex) IPv6-comp = [IPv6-hex *5(":" IPv6-hex)] "::" [IPv6-hex *5(":" IPv6-hex)] ; The "::" represents at least 2 16-bit groups of ; zeros. No more than 6 groups in addition to the ; "::" may be present. IPv6v4-full = IPv6-hex 5(":" IPv6-hex) ":" IPv4-address-literal IPv6v4-comp = [IPv6-hex *3(":" IPv6-hex)] "::" [IPv6-hex *3(":" IPv6-hex) ":"] IPv4-address-literal ; The "::" represents at least 2 16-bit groups of ; zeros. No more than 4 groups in addition to the ; "::" and IPv4-address-literal may be present.
RFC 5321 section 4.1.3
The IPv6 literal address contains the wrong number of groups
Other diagnoses: ISEMAIL_RFC5321_ADDRESSLITERAL

test@[IPv6:1111:2222:3333:4444:5555:6666:7777:888G]

Test #
70

Category
ISEMAIL_RFC5322

Diagnosis
ISEMAIL_RFC5322_IPV6_BADCHAR

IPv6-address-literal = "IPv6:" IPv6-addr IPv6-addr = IPv6-full / IPv6-comp / IPv6v4-full / IPv6v4-comp IPv6-hex = 1*4HEXDIG IPv6-full = IPv6-hex 7(":" IPv6-hex) IPv6-comp = [IPv6-hex *5(":" IPv6-hex)] "::" [IPv6-hex *5(":" IPv6-hex)] ; The "::" represents at least 2 16-bit groups of ; zeros. No more than 6 groups in addition to the ; "::" may be present. IPv6v4-full = IPv6-hex 5(":" IPv6-hex) ":" IPv4-address-literal IPv6v4-comp = [IPv6-hex *3(":" IPv6-hex)] "::" [IPv6-hex *3(":" IPv6-hex) ":"] IPv4-address-literal ; The "::" represents at least 2 16-bit groups of ; zeros. No more than 4 groups in addition to the ; "::" and IPv4-address-literal may be present.
RFC 5321 section 4.1.3
The IPv6 address contains an illegal group of characters

test@[IPv6:1111:2222:3333:4444:5555:6666::8888]

Test #
71

Category
ISEMAIL_RFC5321

Diagnosis
ISEMAIL_RFC5321_IPV6DEPRECATED

IPv6-address-literal = "IPv6:" IPv6-addr IPv6-addr = IPv6-full / IPv6-comp / IPv6v4-full / IPv6v4-comp IPv6-hex = 1*4HEXDIG IPv6-full = IPv6-hex 7(":" IPv6-hex) IPv6-comp = [IPv6-hex *5(":" IPv6-hex)] "::" [IPv6-hex *5(":" IPv6-hex)] ; The "::" represents at least 2 16-bit groups of ; zeros. No more than 6 groups in addition to the ; "::" may be present. IPv6v4-full = IPv6-hex 5(":" IPv6-hex) ":" IPv4-address-literal IPv6v4-comp = [IPv6-hex *3(":" IPv6-hex)] "::" [IPv6-hex *3(":" IPv6-hex) ":"] IPv4-address-literal ; The "::" represents at least 2 16-bit groups of ; zeros. No more than 4 groups in addition to the ; "::" and IPv4-address-literal may be present.
RFC 5321 section 4.1.3
Address is valid but contains a :: that only elides one zero group
Other diagnoses: ISEMAIL_RFC5321_ADDRESSLITERAL

test@[IPv6:1111:2222:3333:4444:5555::8888]

Test #
72

Category
ISEMAIL_RFC5321

Diagnosis
ISEMAIL_RFC5321_ADDRESSLITERAL

address-literal = "[" ( IPv4-address-literal / IPv6-address-literal / General-address-literal ) "]"
RFC 5321 section 4.1.2
IPv4-address-literal = Snum 3("." Snum) Snum = 1*3DIGIT ; representing a decimal integer ; value in the range 0 through 255
RFC 5321 section 4.1.3
Address is valid but at a literal address not a domain

test@[IPv6:1111:2222:3333:4444:5555:6666::7777:8888]

Test #
73

Category
ISEMAIL_RFC5322

Diagnosis
ISEMAIL_RFC5322_IPV6_MAXGRPS

IPv6-address-literal = "IPv6:" IPv6-addr IPv6-addr = IPv6-full / IPv6-comp / IPv6v4-full / IPv6v4-comp IPv6-hex = 1*4HEXDIG IPv6-full = IPv6-hex 7(":" IPv6-hex) IPv6-comp = [IPv6-hex *5(":" IPv6-hex)] "::" [IPv6-hex *5(":" IPv6-hex)] ; The "::" represents at least 2 16-bit groups of ; zeros. No more than 6 groups in addition to the ; "::" may be present. IPv6v4-full = IPv6-hex 5(":" IPv6-hex) ":" IPv4-address-literal IPv6v4-comp = [IPv6-hex *3(":" IPv6-hex)] "::" [IPv6-hex *3(":" IPv6-hex) ":"] IPv4-address-literal ; The "::" represents at least 2 16-bit groups of ; zeros. No more than 4 groups in addition to the ; "::" and IPv4-address-literal may be present.
RFC 5321 section 4.1.3
The IPv6 address has too many groups
Other diagnoses: ISEMAIL_RFC5321_ADDRESSLITERAL

test@[IPv6::3333:4444:5555:6666:7777:8888]

Test #
74

Category
ISEMAIL_RFC5322

Diagnosis
ISEMAIL_RFC5322_IPV6_COLONSTRT

IPv6-address-literal = "IPv6:" IPv6-addr IPv6-addr = IPv6-full / IPv6-comp / IPv6v4-full / IPv6v4-comp IPv6-hex = 1*4HEXDIG IPv6-full = IPv6-hex 7(":" IPv6-hex) IPv6-comp = [IPv6-hex *5(":" IPv6-hex)] "::" [IPv6-hex *5(":" IPv6-hex)] ; The "::" represents at least 2 16-bit groups of ; zeros. No more than 6 groups in addition to the ; "::" may be present. IPv6v4-full = IPv6-hex 5(":" IPv6-hex) ":" IPv4-address-literal IPv6v4-comp = [IPv6-hex *3(":" IPv6-hex)] "::" [IPv6-hex *3(":" IPv6-hex) ":"] IPv4-address-literal ; The "::" represents at least 2 16-bit groups of ; zeros. No more than 4 groups in addition to the ; "::" and IPv4-address-literal may be present.
RFC 5321 section 4.1.3
IPv6 address starts with a single colon
Other diagnoses: ISEMAIL_RFC5322_IPV6_GRPCOUNT

test@[IPv6:::3333:4444:5555:6666:7777:8888]

Test #
75

Category
ISEMAIL_RFC5321

Diagnosis
ISEMAIL_RFC5321_ADDRESSLITERAL

address-literal = "[" ( IPv4-address-literal / IPv6-address-literal / General-address-literal ) "]"
RFC 5321 section 4.1.2
IPv4-address-literal = Snum 3("." Snum) Snum = 1*3DIGIT ; representing a decimal integer ; value in the range 0 through 255
RFC 5321 section 4.1.3
Address is valid but at a literal address not a domain

test@[IPv6:1111::4444:5555::8888]

Test #
76

Category
ISEMAIL_RFC5322

Diagnosis
ISEMAIL_RFC5322_IPV6_2X2XCOLON

IPv6-address-literal = "IPv6:" IPv6-addr IPv6-addr = IPv6-full / IPv6-comp / IPv6v4-full / IPv6v4-comp IPv6-hex = 1*4HEXDIG IPv6-full = IPv6-hex 7(":" IPv6-hex) IPv6-comp = [IPv6-hex *5(":" IPv6-hex)] "::" [IPv6-hex *5(":" IPv6-hex)] ; The "::" represents at least 2 16-bit groups of ; zeros. No more than 6 groups in addition to the ; "::" may be present. IPv6v4-full = IPv6-hex 5(":" IPv6-hex) ":" IPv4-address-literal IPv6v4-comp = [IPv6-hex *3(":" IPv6-hex)] "::" [IPv6-hex *3(":" IPv6-hex) ":"] IPv4-address-literal ; The "::" represents at least 2 16-bit groups of ; zeros. No more than 4 groups in addition to the ; "::" and IPv4-address-literal may be present.
RFC 5321 section 4.1.3
The IPv6 literal address contains too many :: sequences
Other diagnoses: ISEMAIL_RFC5321_ADDRESSLITERAL

test@[IPv6:::]

Test #
77

Category
ISEMAIL_RFC5321

Diagnosis
ISEMAIL_RFC5321_ADDRESSLITERAL

address-literal = "[" ( IPv4-address-literal / IPv6-address-literal / General-address-literal ) "]"
RFC 5321 section 4.1.2
IPv4-address-literal = Snum 3("." Snum) Snum = 1*3DIGIT ; representing a decimal integer ; value in the range 0 through 255
RFC 5321 section 4.1.3
Address is valid but at a literal address not a domain

test@[IPv6:1111:2222:3333:4444:5555:255.255.255.255]

Test #
78

Category
ISEMAIL_RFC5322

Diagnosis
ISEMAIL_RFC5322_IPV6_GRPCOUNT

IPv6-address-literal = "IPv6:" IPv6-addr IPv6-addr = IPv6-full / IPv6-comp / IPv6v4-full / IPv6v4-comp IPv6-hex = 1*4HEXDIG IPv6-full = IPv6-hex 7(":" IPv6-hex) IPv6-comp = [IPv6-hex *5(":" IPv6-hex)] "::" [IPv6-hex *5(":" IPv6-hex)] ; The "::" represents at least 2 16-bit groups of ; zeros. No more than 6 groups in addition to the ; "::" may be present. IPv6v4-full = IPv6-hex 5(":" IPv6-hex) ":" IPv4-address-literal IPv6v4-comp = [IPv6-hex *3(":" IPv6-hex)] "::" [IPv6-hex *3(":" IPv6-hex) ":"] IPv4-address-literal ; The "::" represents at least 2 16-bit groups of ; zeros. No more than 4 groups in addition to the ; "::" and IPv4-address-literal may be present.
RFC 5321 section 4.1.3
The IPv6 literal address contains the wrong number of groups
Other diagnoses: ISEMAIL_RFC5321_ADDRESSLITERAL

test@[IPv6:1111:2222:3333:4444:5555:6666:255.255.255.255]

Test #
79

Category
ISEMAIL_RFC5321

Diagnosis
ISEMAIL_RFC5321_ADDRESSLITERAL

address-literal = "[" ( IPv4-address-literal / IPv6-address-literal / General-address-literal ) "]"
RFC 5321 section 4.1.2
IPv4-address-literal = Snum 3("." Snum) Snum = 1*3DIGIT ; representing a decimal integer ; value in the range 0 through 255
RFC 5321 section 4.1.3
Address is valid but at a literal address not a domain

test@[IPv6:1111:2222:3333:4444:5555:6666:7777:255.255.255.255]

Test #
80

Category
ISEMAIL_RFC5322

Diagnosis
ISEMAIL_RFC5322_IPV6_GRPCOUNT

IPv6-address-literal = "IPv6:" IPv6-addr IPv6-addr = IPv6-full / IPv6-comp / IPv6v4-full / IPv6v4-comp IPv6-hex = 1*4HEXDIG IPv6-full = IPv6-hex 7(":" IPv6-hex) IPv6-comp = [IPv6-hex *5(":" IPv6-hex)] "::" [IPv6-hex *5(":" IPv6-hex)] ; The "::" represents at least 2 16-bit groups of ; zeros. No more than 6 groups in addition to the ; "::" may be present. IPv6v4-full = IPv6-hex 5(":" IPv6-hex) ":" IPv4-address-literal IPv6v4-comp = [IPv6-hex *3(":" IPv6-hex)] "::" [IPv6-hex *3(":" IPv6-hex) ":"] IPv4-address-literal ; The "::" represents at least 2 16-bit groups of ; zeros. No more than 4 groups in addition to the ; "::" and IPv4-address-literal may be present.
RFC 5321 section 4.1.3
The IPv6 literal address contains the wrong number of groups
Other diagnoses: ISEMAIL_RFC5321_ADDRESSLITERAL

test@[IPv6:1111:2222:3333:4444::255.255.255.255]

Test #
81

Category
ISEMAIL_RFC5321

Diagnosis
ISEMAIL_RFC5321_ADDRESSLITERAL

address-literal = "[" ( IPv4-address-literal / IPv6-address-literal / General-address-literal ) "]"
RFC 5321 section 4.1.2
IPv4-address-literal = Snum 3("." Snum) Snum = 1*3DIGIT ; representing a decimal integer ; value in the range 0 through 255
RFC 5321 section 4.1.3
Address is valid but at a literal address not a domain

test@[IPv6:1111:2222:3333:4444:5555:6666::255.255.255.255]

Test #
82

Category
ISEMAIL_RFC5322

Diagnosis
ISEMAIL_RFC5322_IPV6_MAXGRPS

IPv6-address-literal = "IPv6:" IPv6-addr IPv6-addr = IPv6-full / IPv6-comp / IPv6v4-full / IPv6v4-comp IPv6-hex = 1*4HEXDIG IPv6-full = IPv6-hex 7(":" IPv6-hex) IPv6-comp = [IPv6-hex *5(":" IPv6-hex)] "::" [IPv6-hex *5(":" IPv6-hex)] ; The "::" represents at least 2 16-bit groups of ; zeros. No more than 6 groups in addition to the ; "::" may be present. IPv6v4-full = IPv6-hex 5(":" IPv6-hex) ":" IPv4-address-literal IPv6v4-comp = [IPv6-hex *3(":" IPv6-hex)] "::" [IPv6-hex *3(":" IPv6-hex) ":"] IPv4-address-literal ; The "::" represents at least 2 16-bit groups of ; zeros. No more than 4 groups in addition to the ; "::" and IPv4-address-literal may be present.
RFC 5321 section 4.1.3
The IPv6 address has too many groups
Other diagnoses: ISEMAIL_RFC5321_ADDRESSLITERAL

test@[IPv6:1111:2222:3333:4444:::255.255.255.255]

Test #
83

Category
ISEMAIL_RFC5322

Diagnosis
ISEMAIL_RFC5322_IPV6_2X2XCOLON

IPv6-address-literal = "IPv6:" IPv6-addr IPv6-addr = IPv6-full / IPv6-comp / IPv6v4-full / IPv6v4-comp IPv6-hex = 1*4HEXDIG IPv6-full = IPv6-hex 7(":" IPv6-hex) IPv6-comp = [IPv6-hex *5(":" IPv6-hex)] "::" [IPv6-hex *5(":" IPv6-hex)] ; The "::" represents at least 2 16-bit groups of ; zeros. No more than 6 groups in addition to the ; "::" may be present. IPv6v4-full = IPv6-hex 5(":" IPv6-hex) ":" IPv4-address-literal IPv6v4-comp = [IPv6-hex *3(":" IPv6-hex)] "::" [IPv6-hex *3(":" IPv6-hex) ":"] IPv4-address-literal ; The "::" represents at least 2 16-bit groups of ; zeros. No more than 4 groups in addition to the ; "::" and IPv4-address-literal may be present.
RFC 5321 section 4.1.3
The IPv6 literal address contains too many :: sequences
Other diagnoses: ISEMAIL_RFC5321_ADDRESSLITERAL

test@[IPv6::255.255.255.255]

Test #
84

Category
ISEMAIL_RFC5322

Diagnosis
ISEMAIL_RFC5322_IPV6_COLONSTRT

IPv6-address-literal = "IPv6:" IPv6-addr IPv6-addr = IPv6-full / IPv6-comp / IPv6v4-full / IPv6v4-comp IPv6-hex = 1*4HEXDIG IPv6-full = IPv6-hex 7(":" IPv6-hex) IPv6-comp = [IPv6-hex *5(":" IPv6-hex)] "::" [IPv6-hex *5(":" IPv6-hex)] ; The "::" represents at least 2 16-bit groups of ; zeros. No more than 6 groups in addition to the ; "::" may be present. IPv6v4-full = IPv6-hex 5(":" IPv6-hex) ":" IPv4-address-literal IPv6v4-comp = [IPv6-hex *3(":" IPv6-hex)] "::" [IPv6-hex *3(":" IPv6-hex) ":"] IPv4-address-literal ; The "::" represents at least 2 16-bit groups of ; zeros. No more than 4 groups in addition to the ; "::" and IPv4-address-literal may be present.
RFC 5321 section 4.1.3
IPv6 address starts with a single colon
Other diagnoses: ISEMAIL_RFC5322_IPV6_GRPCOUNT

test@iana.org

Test #
85

Category
ISEMAIL_DEPREC

Diagnosis
ISEMAIL_DEPREC_CFWS_NEAR_AT

Comments and folding white space SHOULD NOT be used around the "@" in the addr-spec.
RFC 5322 section 3.4.1
4. SHOULD NOT This phrase, or the phrase "NOT RECOMMENDED" mean that there may exist valid reasons in particular circumstances when the particular behavior is acceptable or even useful, but the full implications should be understood and the case carefully weighed before implementing any behavior described with this label.
RFC 2119 section 4
Address contains a comment or Folding White Space around the @ sign
Other diagnoses: ISEMAIL_CFWS_FWS

test@iana.com

Test #
86

Category
ISEMAIL_DEPREC

Diagnosis
ISEMAIL_DEPREC_CFWS_NEAR_AT

Comments and folding white space SHOULD NOT be used around the "@" in the addr-spec.
RFC 5322 section 3.4.1
4. SHOULD NOT This phrase, or the phrase "NOT RECOMMENDED" mean that there may exist valid reasons in particular circumstances when the particular behavior is acceptable or even useful, but the full implications should be understood and the case carefully weighed before implementing any behavior described with this label.
RFC 2119 section 4
Address contains a comment or Folding White Space around the @ sign
Other diagnoses: ISEMAIL_CFWS_FWS

test.[email protected]

Test #
87

Category
ISEMAIL_DEPREC

Diagnosis
ISEMAIL_DEPREC_FWS

obs-local-part = word *("." word) word = atom / quoted-string atom = [CFWS] 1*atext [CFWS] quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS]
RFC 5322 section 3.4.1
obs-domain = atom *("." atom) atom = [CFWS] 1*atext [CFWS]
RFC 5322 section 3.4.1
Address contains an obsolete form of Folding White Space
Other diagnoses: ISEMAIL_DEPREC_LOCALPART

␍␊
[email protected]

Test #
88

Category
ISEMAIL_CFWS

Diagnosis
ISEMAIL_CFWS_FWS

local-part = dot-atom / quoted-string / obs-local-part dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom-text = 1*atext *("." 1*atext) quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS] obs-local-part = word *("." word) word = atom / quoted-string atom = [CFWS] 1*atext [CFWS]
RFC 5322 section 3.4.1
FWS
Address contains Folding White Space

␍␊
␍␊
[email protected]

Test #
89

Category
ISEMAIL_DEPREC

Diagnosis
ISEMAIL_DEPREC_FWS

obs-local-part = word *("." word) word = atom / quoted-string atom = [CFWS] 1*atext [CFWS] quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS]
RFC 5322 section 3.4.1
obs-domain = atom *("." atom) atom = [CFWS] 1*atext [CFWS]
RFC 5322 section 3.4.1
FWS with one line composed entirely of WSP -- only allowed as obsolete FWS (someone might allow only non-obsolete FWS)
Address contains an obsolete form of Folding White Space
Other diagnoses: ISEMAIL_CFWS_FWS

(comment)[email protected]

Test #
90

Category
ISEMAIL_CFWS

Diagnosis
ISEMAIL_CFWS_COMMENT

dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom-text = 1*atext *("." 1*atext)
RFC 5322 section 3.4.1
Address contains comments

((comment)[email protected]

Test #
91

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_UNCLOSEDCOMMENT

CFWS = (1*([FWS] comment) [FWS]) / FWS FWS = ([*WSP CRLF] 1*WSP) / obs-FWS ; Folding white space comment = "(" *([FWS] ccontent) [FWS] ")" ccontent = ctext / quoted-pair / comment ctext = %d33-39 / ; Printable US-ASCII %d42-91 / ; characters not including %d93-126 / ; "(", ")", or "\" obs-ctext
RFC 5322 section 3.2.2
Unclosed comment
Other diagnoses: ISEMAIL_CFWS_COMMENT

(comment(comment))[email protected]

Test #
92

Category
ISEMAIL_CFWS

Diagnosis
ISEMAIL_CFWS_COMMENT

dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom-text = 1*atext *("." 1*atext)
RFC 5322 section 3.4.1
Address contains comments

test@(comment)iana.org

Test #
93

Category
ISEMAIL_DEPREC

Diagnosis
ISEMAIL_DEPREC_CFWS_NEAR_AT

Comments and folding white space SHOULD NOT be used around the "@" in the addr-spec.
RFC 5322 section 3.4.1
4. SHOULD NOT This phrase, or the phrase "NOT RECOMMENDED" mean that there may exist valid reasons in particular circumstances when the particular behavior is acceptable or even useful, but the full implications should be understood and the case carefully weighed before implementing any behavior described with this label.
RFC 2119 section 4
Address contains a comment or Folding White Space around the @ sign

test(comment)[email protected]

Test #
94

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_ATEXT_AFTER_CFWS

local-part = dot-atom / quoted-string / obs-local-part dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom-text = 1*atext *("." 1*atext) quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS] obs-local-part = word *("." word) word = atom / quoted-string atom = [CFWS] 1*atext [CFWS]
RFC 5322 section 3.4.1
domain = dot-atom / domain-literal / obs-domain dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom-text = 1*atext *("." 1*atext)
RFC 5322 section 3.4.1
Address contains text after a comment or Folding White Space
Other diagnoses: ISEMAIL_CFWS_COMMENT

test@(comment)[255.255.255.255]

Test #
95

Category
ISEMAIL_DEPREC

Diagnosis
ISEMAIL_DEPREC_CFWS_NEAR_AT

Comments and folding white space SHOULD NOT be used around the "@" in the addr-spec.
RFC 5322 section 3.4.1
4. SHOULD NOT This phrase, or the phrase "NOT RECOMMENDED" mean that there may exist valid reasons in particular circumstances when the particular behavior is acceptable or even useful, but the full implications should be understood and the case carefully weighed before implementing any behavior described with this label.
RFC 2119 section 4
Address contains a comment or Folding White Space around the @ sign
Other diagnoses: ISEMAIL_RFC5321_ADDRESSLITERAL

(comment)[email protected]iana.org

Test #
96

Category
ISEMAIL_CFWS

Diagnosis
ISEMAIL_CFWS_COMMENT

dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom-text = 1*atext *("." 1*atext)
RFC 5322 section 3.4.1
Address contains comments

test@(comment)abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghikl.com

Test #
97

Category
ISEMAIL_DEPREC

Diagnosis
ISEMAIL_DEPREC_CFWS_NEAR_AT

Comments and folding white space SHOULD NOT be used around the "@" in the addr-spec.
RFC 5322 section 3.4.1
4. SHOULD NOT This phrase, or the phrase "NOT RECOMMENDED" mean that there may exist valid reasons in particular circumstances when the particular behavior is acceptable or even useful, but the full implications should be understood and the case carefully weighed before implementing any behavior described with this label.
RFC 2119 section 4
Address contains a comment or Folding White Space around the @ sign

(comment)[email protected][email protected].[email protected]bcdefghijklmnopqrstuvwxyzabcdefghijk.abcdefghijklmnopqrstu

Test #
98

Category
ISEMAIL_CFWS

Diagnosis
ISEMAIL_CFWS_COMMENT

dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom-text = 1*atext *("." 1*atext)
RFC 5322 section 3.4.1
Address contains comments

[email protected]

Test #
99

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_EXPECTING_ATEXT

atext = ALPHA / DIGIT / ; Printable US-ASCII "!" / "#" / ; characters not including "$" / "%" / ; specials. Used for atoms. "&" / "'" / "*" / "+" / "-" / "/" / "=" / "?" / "^" / "_" / "`" / "{" / "|" / "}" / "~"
RFC 5322 section 3.2.3
Address contains a character that is not allowed

[email protected]

Test #
100

Category
ISEMAIL_DNSWARN

Diagnosis
ISEMAIL_DNSWARN_NO_RECORD

A valid IDN from ICANN's IDN TLD evaluation gateway
Couldn't find an MX record or an A-record for this domain
Expected category was ISEMAIL_VALID_CATEGORY
Expected diagnosis was ISEMAIL_VALID
Other diagnoses: ISEMAIL_DNSWARN_NO_MX_RECORD

[email protected]

Test #
101

Category
ISEMAIL_VALID_CATEGORY

Diagnosis
ISEMAIL_VALID

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"
Address is valid. Please note that this does not mean the address actually exists, nor even that the domain actually exists. This address could be issued by the domain owner without breaking the rules of any RFCs.

test@iana.org-

Test #
102

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_DOMAINHYPHENEND

Domain = sub-domain *("." sub-domain) Let-dig = ALPHA / DIGIT Ldh-str = *( ALPHA / DIGIT / "-" ) Let-dig
RFC 5321 section 4.1.2
A domain or subdomain cannot end with a hyphen

"[email protected]

Test #
103

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_UNCLOSEDQUOTEDSTR

quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS] qcontent = qtext / quoted-pair qtext = %d33 / ; Printable US-ASCII %d35-91 / ; characters not including %d93-126 / ; "\" or the quote character obs-qtext quoted-pair = ("\" (VCHAR / WSP)) / obs-qp
RFC 5322 section 3.4.1
Unclosed quoted string
Other diagnoses: ISEMAIL_RFC5321_QUOTEDSTRING

([email protected]

Test #
104

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_UNCLOSEDCOMMENT

CFWS = (1*([FWS] comment) [FWS]) / FWS FWS = ([*WSP CRLF] 1*WSP) / obs-FWS ; Folding white space comment = "(" *([FWS] ccontent) [FWS] ")" ccontent = ctext / quoted-pair / comment ctext = %d33-39 / ; Printable US-ASCII %d42-91 / ; characters not including %d93-126 / ; "(", ")", or "\" obs-ctext
RFC 5322 section 3.2.2
Unclosed comment
Other diagnoses: ISEMAIL_CFWS_COMMENT

test@(iana.org

Test #
105

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_UNCLOSEDCOMMENT

CFWS = (1*([FWS] comment) [FWS]) / FWS FWS = ([*WSP CRLF] 1*WSP) / obs-FWS ; Folding white space comment = "(" *([FWS] ccontent) [FWS] ")" ccontent = ctext / quoted-pair / comment ctext = %d33-39 / ; Printable US-ASCII %d42-91 / ; characters not including %d93-126 / ; "(", ")", or "\" obs-ctext
RFC 5322 section 3.2.2
Unclosed comment
Other diagnoses: ISEMAIL_DEPREC_CFWS_NEAR_AT

test@[1.2.3.4

Test #
106

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_UNCLOSEDDOMLIT

domain-literal = [CFWS] "[" *([FWS] dtext) [FWS] "]" [CFWS]
RFC 5322 section 3.4.1
Domain literal is missing its closing bracket

"test\"@iana.org

Test #
107

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_UNCLOSEDQUOTEDSTR

quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS] qcontent = qtext / quoted-pair qtext = %d33 / ; Printable US-ASCII %d35-91 / ; characters not including %d93-126 / ; "\" or the quote character obs-qtext quoted-pair = ("\" (VCHAR / WSP)) / obs-qp
RFC 5322 section 3.4.1
Unclosed quoted string
Other diagnoses: ISEMAIL_RFC5321_QUOTEDSTRING

(comment\)[email protected]

Test #
108

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_UNCLOSEDCOMMENT

CFWS = (1*([FWS] comment) [FWS]) / FWS FWS = ([*WSP CRLF] 1*WSP) / obs-FWS ; Folding white space comment = "(" *([FWS] ccontent) [FWS] ")" ccontent = ctext / quoted-pair / comment ctext = %d33-39 / ; Printable US-ASCII %d42-91 / ; characters not including %d93-126 / ; "(", ")", or "\" obs-ctext
RFC 5322 section 3.2.2
Unclosed comment
Other diagnoses: ISEMAIL_CFWS_COMMENT

[email protected](comment\)

Test #
109

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_UNCLOSEDCOMMENT

CFWS = (1*([FWS] comment) [FWS]) / FWS FWS = ([*WSP CRLF] 1*WSP) / obs-FWS ; Folding white space comment = "(" *([FWS] ccontent) [FWS] ")" ccontent = ctext / quoted-pair / comment ctext = %d33-39 / ; Printable US-ASCII %d42-91 / ; characters not including %d93-126 / ; "(", ")", or "\" obs-ctext
RFC 5322 section 3.2.2
Unclosed comment
Other diagnoses: ISEMAIL_CFWS_COMMENT

[email protected](comment\

Test #
110

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_BACKSLASHEND

domain = dot-atom / domain-literal / obs-domain dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom-text = 1*atext *("." 1*atext)
RFC 5322 section 3.4.1
Domain = sub-domain *("." sub-domain)
RFC 5321 section 4.1.2
quoted-pair = ("\" (VCHAR / WSP)) / obs-qp VCHAR = %d33-126 ; visible (printing) characters WSP = SP / HTAB ; white space
RFC 5322 section 3.2.1
The address can't end with a backslash
Other diagnoses: ISEMAIL_CFWS_COMMENT

test@[RFC-5322-domain-literal]

Test #
112

Category
ISEMAIL_RFC5322

Diagnosis
ISEMAIL_RFC5322_DOMAINLITERAL

domain-literal = [CFWS] "[" *([FWS] dtext) [FWS] "]" [CFWS]
RFC 5322 section 3.4.1
The domain literal is not a valid RFC 5321 address literal

test@[RFC-5322]-domain-literal]

Test #
113

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_ATEXT_AFTER_DOMLIT

domain = dot-atom / domain-literal / obs-domain dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom-text = 1*atext *("." 1*atext)
RFC 5322 section 3.4.1
Extra characters were found after the end of the domain literal
Other diagnoses: ISEMAIL_RFC5322_DOMAINLITERAL

test@[RFC-5322-[domain-literal]

Test #
114

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_EXPECTING_DTEXT

dtext = %d33-90 / ; Printable US-ASCII %d94-126 / ; characters not including obs-dtext ; "[", "]", or "\"
RFC 5322 section 3.4.1
A domain literal contains a character that is not allowed

test@[RFC-5322-\-domain-literal]

Test #
115

Category
ISEMAIL_RFC5322

Diagnosis
ISEMAIL_RFC5322_DOMLIT_OBSDTEXT

obs-dtext = obs-NO-WS-CTL / quoted-pair obs-NO-WS-CTL = %d1-8 / ; US-ASCII control %d11 / ; characters that do not %d12 / ; include the carriage %d14-31 / ; return, line feed, and %d127 ; white space characters
RFC 5322 section 3.4.1
obs-dtext and obs-qp
The domain literal is not a valid RFC 5321 address literal and it contains obsolete characters
Other diagnoses: ISEMAIL_DEPREC_QP, ISEMAIL_RFC5322_DOMAINLITERAL

test@[RFC-5322-\-domain-literal]

Test #
116

Category
ISEMAIL_RFC5322

Diagnosis
ISEMAIL_RFC5322_DOMLIT_OBSDTEXT

obs-dtext = obs-NO-WS-CTL / quoted-pair obs-NO-WS-CTL = %d1-8 / ; US-ASCII control %d11 / ; characters that do not %d12 / ; include the carriage %d14-31 / ; return, line feed, and %d127 ; white space characters
RFC 5322 section 3.4.1
The domain literal is not a valid RFC 5321 address literal and it contains obsolete characters
Other diagnoses: ISEMAIL_RFC5322_DOMAINLITERAL

test@[RFC-5322-\]-domain-literal]

Test #
117

Category
ISEMAIL_RFC5322

Diagnosis
ISEMAIL_RFC5322_DOMLIT_OBSDTEXT

obs-dtext = obs-NO-WS-CTL / quoted-pair obs-NO-WS-CTL = %d1-8 / ; US-ASCII control %d11 / ; characters that do not %d12 / ; include the carriage %d14-31 / ; return, line feed, and %d127 ; white space characters
RFC 5322 section 3.4.1
The domain literal is not a valid RFC 5321 address literal and it contains obsolete characters
Other diagnoses: ISEMAIL_RFC5322_DOMAINLITERAL

test@[RFC-5322-domain-literal\]

Test #
118

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_UNCLOSEDDOMLIT

domain-literal = [CFWS] "[" *([FWS] dtext) [FWS] "]" [CFWS]
RFC 5322 section 3.4.1
Domain literal is missing its closing bracket
Other diagnoses: ISEMAIL_RFC5322_DOMLIT_OBSDTEXT

test@[RFC-5322-domain-literal\

Test #
119

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_BACKSLASHEND

domain = dot-atom / domain-literal / obs-domain dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom-text = 1*atext *("." 1*atext)
RFC 5322 section 3.4.1
Domain = sub-domain *("." sub-domain)
RFC 5321 section 4.1.2
quoted-pair = ("\" (VCHAR / WSP)) / obs-qp VCHAR = %d33-126 ; visible (printing) characters WSP = SP / HTAB ; white space
RFC 5322 section 3.2.1
The address can't end with a backslash
Other diagnoses: ISEMAIL_RFC5322_DOMLIT_OBSDTEXT

test@[RFC5322domainliteral]

Test #
120

Category
ISEMAIL_RFC5322

Diagnosis
ISEMAIL_RFC5322_DOMAINLITERAL

domain-literal = [CFWS] "[" *([FWS] dtext) [FWS] "]" [CFWS]
RFC 5322 section 3.4.1
Spaces are FWS in a domain literal
The domain literal is not a valid RFC 5321 address literal
Other diagnoses: ISEMAIL_CFWS_FWS

test@[RFC-5322-domain-literal](comment)

Test #
121

Category
ISEMAIL_RFC5322

Diagnosis
ISEMAIL_RFC5322_DOMAINLITERAL

domain-literal = [CFWS] "[" *([FWS] dtext) [FWS] "]" [CFWS]
RFC 5322 section 3.4.1
The domain literal is not a valid RFC 5321 address literal
Other diagnoses: ISEMAIL_CFWS_FWS, ISEMAIL_CFWS_COMMENT

@iana.org

Test #
122

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_EXPECTING_ATEXT

atext = ALPHA / DIGIT / ; Printable US-ASCII "!" / "#" / ; characters not including "$" / "%" / ; specials. Used for atoms. "&" / "'" / "*" / "+" / "-" / "/" / "=" / "?" / "^" / "_" / "`" / "{" / "|" / "}" / "~"
RFC 5322 section 3.2.3
Address contains a character that is not allowed

test@.org

Test #
123

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_EXPECTING_ATEXT

atext = ALPHA / DIGIT / ; Printable US-ASCII "!" / "#" / ; characters not including "$" / "%" / ; specials. Used for atoms. "&" / "'" / "*" / "+" / "-" / "/" / "=" / "?" / "^" / "_" / "`" / "{" / "|" / "}" / "~"
RFC 5322 section 3.2.3
Address contains a character that is not allowed

""@iana.org

Test #
124

Category
ISEMAIL_DEPREC

Diagnosis
ISEMAIL_DEPREC_QTEXT

obs-qtext = obs-NO-WS-CTL obs-NO-WS-CTL = %d1-8 / ; US-ASCII control %d11 / ; characters that do not %d12 / ; include the carriage %d14-31 / ; return, line feed, and %d127 ; white space characters
RFC 5322 section 4.1
A quoted string contains a deprecated character
Other diagnoses: ISEMAIL_RFC5321_QUOTEDSTRING

"\"@iana.org

Test #
125

Category
ISEMAIL_DEPREC

Diagnosis
ISEMAIL_DEPREC_QP

obs-qp = "\" (%d0 / obs-NO-WS-CTL / LF / CR) obs-NO-WS-CTL = %d1-8 / ; US-ASCII control %d11 / ; characters that do not %d12 / ; include the carriage %d14-31 / ; return, line feed, and %d127 ; white space characters
RFC 5322 section 4.1
A quoted pair contains a deprecated character
Other diagnoses: ISEMAIL_RFC5321_QUOTEDSTRING

()[email protected]

Test #
126

Category
ISEMAIL_DEPREC

Diagnosis
ISEMAIL_DEPREC_CTEXT

obs-qtext = obs-NO-WS-CTL obs-NO-WS-CTL = %d1-8 / ; US-ASCII control %d11 / ; characters that do not %d12 / ; include the carriage %d14-31 / ; return, line feed, and %d127 ; white space characters
RFC 5322 section 4.1
A comment contains a deprecated character
Other diagnoses: ISEMAIL_CFWS_COMMENT

[email protected]

Test #
127

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_CR_NO_LF

CFWS = (1*([FWS] comment) [FWS]) / FWS FWS = ([*WSP CRLF] 1*WSP) / obs-FWS ; Folding white space comment = "(" *([FWS] ccontent) [FWS] ")" ccontent = ctext / quoted-pair / comment ctext = %d33-39 / ; Printable US-ASCII %d42-91 / ; characters not including %d93-126 / ; "(", ")", or "\" obs-ctext
RFC 5322 section 3.2.2
CRLF = %d13.10
RFC 5234 section 2.3
No LF after the CR
Address contains a carriage return that is not followed by a line feed


[email protected]

Test #
128

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_CR_NO_LF

CFWS = (1*([FWS] comment) [FWS]) / FWS FWS = ([*WSP CRLF] 1*WSP) / obs-FWS ; Folding white space comment = "(" *([FWS] ccontent) [FWS] ")" ccontent = ctext / quoted-pair / comment ctext = %d33-39 / ; Printable US-ASCII %d42-91 / ; characters not including %d93-126 / ; "(", ")", or "\" obs-ctext
RFC 5322 section 3.2.2
CRLF = %d13.10
RFC 5234 section 2.3
No LF after the CR
Address contains a carriage return that is not followed by a line feed

"
test"@iana.org

Test #
129

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_CR_NO_LF

CFWS = (1*([FWS] comment) [FWS]) / FWS FWS = ([*WSP CRLF] 1*WSP) / obs-FWS ; Folding white space comment = "(" *([FWS] ccontent) [FWS] ")" ccontent = ctext / quoted-pair / comment ctext = %d33-39 / ; Printable US-ASCII %d42-91 / ; characters not including %d93-126 / ; "(", ")", or "\" obs-ctext
RFC 5322 section 3.2.2
CRLF = %d13.10
RFC 5234 section 2.3
No LF after the CR
Address contains a carriage return that is not followed by a line feed
Other diagnoses: ISEMAIL_RFC5321_QUOTEDSTRING

(
)[email protected]

Test #
130

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_CR_NO_LF

CFWS = (1*([FWS] comment) [FWS]) / FWS FWS = ([*WSP CRLF] 1*WSP) / obs-FWS ; Folding white space comment = "(" *([FWS] ccontent) [FWS] ")" ccontent = ctext / quoted-pair / comment ctext = %d33-39 / ; Printable US-ASCII %d42-91 / ; characters not including %d93-126 / ; "(", ")", or "\" obs-ctext
RFC 5322 section 3.2.2
CRLF = %d13.10
RFC 5234 section 2.3
No LF after the CR
Address contains a carriage return that is not followed by a line feed
Other diagnoses: ISEMAIL_CFWS_COMMENT

[email protected](
)

Test #
131

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_CR_NO_LF

CFWS = (1*([FWS] comment) [FWS]) / FWS FWS = ([*WSP CRLF] 1*WSP) / obs-FWS ; Folding white space comment = "(" *([FWS] ccontent) [FWS] ")" ccontent = ctext / quoted-pair / comment ctext = %d33-39 / ; Printable US-ASCII %d42-91 / ; characters not including %d93-126 / ; "(", ")", or "\" obs-ctext
RFC 5322 section 3.2.2
CRLF = %d13.10
RFC 5234 section 2.3
No LF after the CR
Address contains a carriage return that is not followed by a line feed
Other diagnoses: ISEMAIL_CFWS_COMMENT


[email protected]

Test #
132

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_EXPECTING_ATEXT

atext = ALPHA / DIGIT / ; Printable US-ASCII "!" / "#" / ; characters not including "$" / "%" / ; specials. Used for atoms. "&" / "'" / "*" / "+" / "-" / "/" / "=" / "?" / "^" / "_" / "`" / "{" / "|" / "}" / "~"
RFC 5322 section 3.2.3
Address contains a character that is not allowed

"
"@iana.org

Test #
133

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_EXPECTING_QTEXT

qtext = %d33 / ; Printable US-ASCII %d35-91 / ; characters not including %d93-126 / ; "\" or the quote character obs-qtext
RFC 5322 section 3.2.4
A quoted string contains a character that is not allowed
Other diagnoses: ISEMAIL_RFC5321_QUOTEDSTRING

"\
"@iana.org

Test #
134

Category
ISEMAIL_DEPREC

Diagnosis
ISEMAIL_DEPREC_QP

obs-qp = "\" (%d0 / obs-NO-WS-CTL / LF / CR) obs-NO-WS-CTL = %d1-8 / ; US-ASCII control %d11 / ; characters that do not %d12 / ; include the carriage %d14-31 / ; return, line feed, and %d127 ; white space characters
RFC 5322 section 4.1
A quoted pair contains a deprecated character
Other diagnoses: ISEMAIL_RFC5321_QUOTEDSTRING

(
)[email protected]

Test #
135

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_EXPECTING_CTEXT

qtext = %d33 / ; Printable US-ASCII %d35-91 / ; characters not including %d93-126 / ; "\" or the quote character obs-qtext
RFC 5322 section 3.2.4
A comment contains a character that is not allowed
Other diagnoses: ISEMAIL_CFWS_COMMENT

@iana.org

Test #
136

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_EXPECTING_ATEXT

atext = ALPHA / DIGIT / ; Printable US-ASCII "!" / "#" / ; characters not including "$" / "%" / ; specials. Used for atoms. "&" / "'" / "*" / "+" / "-" / "/" / "=" / "?" / "^" / "_" / "`" / "{" / "|" / "}" / "~"
RFC 5322 section 3.2.3
Address contains a character that is not allowed

test@.org

Test #
137

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_EXPECTING_ATEXT

atext = ALPHA / DIGIT / ; Printable US-ASCII "!" / "#" / ; characters not including "$" / "%" / ; specials. Used for atoms. "&" / "'" / "*" / "+" / "-" / "/" / "=" / "?" / "^" / "_" / "`" / "{" / "|" / "}" / "~"
RFC 5322 section 3.2.3
Address contains a character that is not allowed

""@iana.org

Test #
138

Category
ISEMAIL_DEPREC

Diagnosis
ISEMAIL_DEPREC_QTEXT

obs-qtext = obs-NO-WS-CTL obs-NO-WS-CTL = %d1-8 / ; US-ASCII control %d11 / ; characters that do not %d12 / ; include the carriage %d14-31 / ; return, line feed, and %d127 ; white space characters
RFC 5322 section 4.1
A quoted string contains a deprecated character
Other diagnoses: ISEMAIL_RFC5321_QUOTEDSTRING

"\"@iana.org

Test #
139

Category
ISEMAIL_DEPREC

Diagnosis
ISEMAIL_DEPREC_QP

obs-qp = "\" (%d0 / obs-NO-WS-CTL / LF / CR) obs-NO-WS-CTL = %d1-8 / ; US-ASCII control %d11 / ; characters that do not %d12 / ; include the carriage %d14-31 / ; return, line feed, and %d127 ; white space characters
RFC 5322 section 4.1
A quoted pair contains a deprecated character
Other diagnoses: ISEMAIL_RFC5321_QUOTEDSTRING

()[email protected]

Test #
140

Category
ISEMAIL_DEPREC

Diagnosis
ISEMAIL_DEPREC_CTEXT

obs-qtext = obs-NO-WS-CTL obs-NO-WS-CTL = %d1-8 / ; US-ASCII control %d11 / ; characters that do not %d12 / ; include the carriage %d14-31 / ; return, line feed, and %d127 ; white space characters
RFC 5322 section 4.1
A comment contains a deprecated character
Other diagnoses: ISEMAIL_CFWS_COMMENT

␍␊
[email protected]

Test #
141

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_FWS_CRLF_END

CFWS = (1*([FWS] comment) [FWS]) / FWS FWS = ([*WSP CRLF] 1*WSP) / obs-FWS ; Folding white space comment = "(" *([FWS] ccontent) [FWS] ")" ccontent = ctext / quoted-pair / comment ctext = %d33-39 / ; Printable US-ASCII %d42-91 / ; characters not including %d93-126 / ; "(", ")", or "\" obs-ctext
RFC 5322 section 3.2.2
Not FWS because no actual white space
Folding White Space ends with a CRLF sequence
Other diagnoses: ISEMAIL_CFWS_FWS

␍␊
␍␊
[email protected]

Test #
142

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_FWS_CRLF_END

CFWS = (1*([FWS] comment) [FWS]) / FWS FWS = ([*WSP CRLF] 1*WSP) / obs-FWS ; Folding white space comment = "(" *([FWS] ccontent) [FWS] ")" ccontent = ctext / quoted-pair / comment ctext = %d33-39 / ; Printable US-ASCII %d42-91 / ; characters not including %d93-126 / ; "(", ")", or "\" obs-ctext
RFC 5322 section 3.2.2
Not obs-FWS because there must be white space on each "fold"
Folding White Space ends with a CRLF sequence
Other diagnoses: ISEMAIL_CFWS_FWS, ISEMAIL_DEPREC_FWS

␍␊
[email protected]

Test #
143

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_FWS_CRLF_END

CFWS = (1*([FWS] comment) [FWS]) / FWS FWS = ([*WSP CRLF] 1*WSP) / obs-FWS ; Folding white space comment = "(" *([FWS] ccontent) [FWS] ")" ccontent = ctext / quoted-pair / comment ctext = %d33-39 / ; Printable US-ASCII %d42-91 / ; characters not including %d93-126 / ; "(", ")", or "\" obs-ctext
RFC 5322 section 3.2.2
Not FWS because no white space after the fold
Folding White Space ends with a CRLF sequence
Other diagnoses: ISEMAIL_CFWS_FWS

␍␊
[email protected]

Test #
144

Category
ISEMAIL_CFWS

Diagnosis
ISEMAIL_CFWS_FWS

local-part = dot-atom / quoted-string / obs-local-part dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom-text = 1*atext *("." 1*atext) quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS] obs-local-part = word *("." word) word = atom / quoted-string atom = [CFWS] 1*atext [CFWS]
RFC 5322 section 3.4.1
FWS
Address contains Folding White Space

␍␊
␍␊
[email protected]

Test #
145

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_FWS_CRLF_END

CFWS = (1*([FWS] comment) [FWS]) / FWS FWS = ([*WSP CRLF] 1*WSP) / obs-FWS ; Folding white space comment = "(" *([FWS] ccontent) [FWS] ")" ccontent = ctext / quoted-pair / comment ctext = %d33-39 / ; Printable US-ASCII %d42-91 / ; characters not including %d93-126 / ; "(", ")", or "\" obs-ctext
RFC 5322 section 3.2.2
Not FWS because no white space after the second fold
Folding White Space ends with a CRLF sequence
Other diagnoses: ISEMAIL_CFWS_FWS, ISEMAIL_DEPREC_FWS

␍␊
␍␊
[email protected]

Test #
146

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_FWS_CRLF_X2

CFWS = (1*([FWS] comment) [FWS]) / FWS FWS = ([*WSP CRLF] 1*WSP) / obs-FWS ; Folding white space comment = "(" *([FWS] ccontent) [FWS] ")" ccontent = ctext / quoted-pair / comment ctext = %d33-39 / ; Printable US-ASCII %d42-91 / ; characters not including %d93-126 / ; "(", ")", or "\" obs-ctext
RFC 5322 section 3.2.2
Not FWS because no white space after either fold
Folding White Space contains consecutive CRLF sequences
Other diagnoses: ISEMAIL_CFWS_FWS

␍␊
␍␊
[email protected]

Test #
147

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_FWS_CRLF_X2

CFWS = (1*([FWS] comment) [FWS]) / FWS FWS = ([*WSP CRLF] 1*WSP) / obs-FWS ; Folding white space comment = "(" *([FWS] ccontent) [FWS] ")" ccontent = ctext / quoted-pair / comment ctext = %d33-39 / ; Printable US-ASCII %d42-91 / ; characters not including %d93-126 / ; "(", ")", or "\" obs-ctext
RFC 5322 section 3.2.2
Not FWS because no white space after the first fold
Folding White Space contains consecutive CRLF sequences
Other diagnoses: ISEMAIL_CFWS_FWS

[email protected]␍␊

Test #
148

Category
ISEMAIL_CFWS

Diagnosis
ISEMAIL_CFWS_FWS

local-part = dot-atom / quoted-string / obs-local-part dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom-text = 1*atext *("." 1*atext) quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS] obs-local-part = word *("." word) word = atom / quoted-string atom = [CFWS] 1*atext [CFWS]
RFC 5322 section 3.4.1
FWS
Address contains Folding White Space

[email protected]␍␊
␍␊

Test #
149

Category
ISEMAIL_DEPREC

Diagnosis
ISEMAIL_DEPREC_FWS

obs-local-part = word *("." word) word = atom / quoted-string atom = [CFWS] 1*atext [CFWS] quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS]
RFC 5322 section 3.4.1
obs-domain = atom *("." atom) atom = [CFWS] 1*atext [CFWS]
RFC 5322 section 3.4.1
FWS with one line composed entirely of WSP -- only allowed as obsolete FWS (someone might allow only non-obsolete FWS)
Address contains an obsolete form of Folding White Space
Other diagnoses: ISEMAIL_CFWS_FWS

[email protected]␍␊

Test #
150

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_FWS_CRLF_END

CFWS = (1*([FWS] comment) [FWS]) / FWS FWS = ([*WSP CRLF] 1*WSP) / obs-FWS ; Folding white space comment = "(" *([FWS] ccontent) [FWS] ")" ccontent = ctext / quoted-pair / comment ctext = %d33-39 / ; Printable US-ASCII %d42-91 / ; characters not including %d93-126 / ; "(", ")", or "\" obs-ctext
RFC 5322 section 3.2.2
Not FWS because no actual white space
Folding White Space ends with a CRLF sequence
Other diagnoses: ISEMAIL_CFWS_FWS

[email protected]␍␊
␍␊

Test #
151

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_FWS_CRLF_END

CFWS = (1*([FWS] comment) [FWS]) / FWS FWS = ([*WSP CRLF] 1*WSP) / obs-FWS ; Folding white space comment = "(" *([FWS] ccontent) [FWS] ")" ccontent = ctext / quoted-pair / comment ctext = %d33-39 / ; Printable US-ASCII %d42-91 / ; characters not including %d93-126 / ; "(", ")", or "\" obs-ctext
RFC 5322 section 3.2.2
Not obs-FWS because there must be white space on each "fold"
Folding White Space ends with a CRLF sequence
Other diagnoses: ISEMAIL_CFWS_FWS

[email protected]␍␊

Test #
152

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_FWS_CRLF_END

CFWS = (1*([FWS] comment) [FWS]) / FWS FWS = ([*WSP CRLF] 1*WSP) / obs-FWS ; Folding white space comment = "(" *([FWS] ccontent) [FWS] ")" ccontent = ctext / quoted-pair / comment ctext = %d33-39 / ; Printable US-ASCII %d42-91 / ; characters not including %d93-126 / ; "(", ")", or "\" obs-ctext
RFC 5322 section 3.2.2
Not FWS because no white space after the fold
Folding White Space ends with a CRLF sequence
Other diagnoses: ISEMAIL_CFWS_FWS

[email protected]␍␊

Test #
153

Category
ISEMAIL_CFWS

Diagnosis
ISEMAIL_CFWS_FWS

local-part = dot-atom / quoted-string / obs-local-part dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom-text = 1*atext *("." 1*atext) quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS] obs-local-part = word *("." word) word = atom / quoted-string atom = [CFWS] 1*atext [CFWS]
RFC 5322 section 3.4.1
FWS
Address contains Folding White Space

[email protected]␍␊
␍␊

Test #
154

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_FWS_CRLF_END

CFWS = (1*([FWS] comment) [FWS]) / FWS FWS = ([*WSP CRLF] 1*WSP) / obs-FWS ; Folding white space comment = "(" *([FWS] ccontent) [FWS] ")" ccontent = ctext / quoted-pair / comment ctext = %d33-39 / ; Printable US-ASCII %d42-91 / ; characters not including %d93-126 / ; "(", ")", or "\" obs-ctext
RFC 5322 section 3.2.2
Not FWS because no white space after the second fold
Folding White Space ends with a CRLF sequence
Other diagnoses: ISEMAIL_CFWS_FWS

[email protected]␍␊
␍␊

Test #
155

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_FWS_CRLF_X2

CFWS = (1*([FWS] comment) [FWS]) / FWS FWS = ([*WSP CRLF] 1*WSP) / obs-FWS ; Folding white space comment = "(" *([FWS] ccontent) [FWS] ")" ccontent = ctext / quoted-pair / comment ctext = %d33-39 / ; Printable US-ASCII %d42-91 / ; characters not including %d93-126 / ; "(", ")", or "\" obs-ctext
RFC 5322 section 3.2.2
Not FWS because no white space after either fold
Folding White Space contains consecutive CRLF sequences
Other diagnoses: ISEMAIL_CFWS_FWS

[email protected]␍␊
␍␊

Test #
156

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_FWS_CRLF_X2

CFWS = (1*([FWS] comment) [FWS]) / FWS FWS = ([*WSP CRLF] 1*WSP) / obs-FWS ; Folding white space comment = "(" *([FWS] ccontent) [FWS] ")" ccontent = ctext / quoted-pair / comment ctext = %d33-39 / ; Printable US-ASCII %d42-91 / ; characters not including %d93-126 / ; "(", ")", or "\" obs-ctext
RFC 5322 section 3.2.2
Not FWS because no white space after the first fold
Folding White Space contains consecutive CRLF sequences
Other diagnoses: ISEMAIL_CFWS_FWS

[email protected]

Test #
157

Category
ISEMAIL_CFWS

Diagnosis
ISEMAIL_CFWS_FWS

local-part = dot-atom / quoted-string / obs-local-part dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom-text = 1*atext *("." 1*atext) quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS] obs-local-part = word *("." word) word = atom / quoted-string atom = [CFWS] 1*atext [CFWS]
RFC 5322 section 3.4.1
Address contains Folding White Space

[email protected]

Test #
158

Category
ISEMAIL_CFWS

Diagnosis
ISEMAIL_CFWS_FWS

local-part = dot-atom / quoted-string / obs-local-part dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom-text = 1*atext *("." 1*atext) quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS] obs-local-part = word *("." word) word = atom / quoted-string atom = [CFWS] 1*atext [CFWS]
RFC 5322 section 3.4.1
Address contains Folding White Space

test@[IPv6:1::2:]

Test #
159

Category
ISEMAIL_RFC5322

Diagnosis
ISEMAIL_RFC5322_IPV6_COLONEND

IPv6-address-literal = "IPv6:" IPv6-addr IPv6-addr = IPv6-full / IPv6-comp / IPv6v4-full / IPv6v4-comp IPv6-hex = 1*4HEXDIG IPv6-full = IPv6-hex 7(":" IPv6-hex) IPv6-comp = [IPv6-hex *5(":" IPv6-hex)] "::" [IPv6-hex *5(":" IPv6-hex)] ; The "::" represents at least 2 16-bit groups of ; zeros. No more than 6 groups in addition to the ; "::" may be present. IPv6v4-full = IPv6-hex 5(":" IPv6-hex) ":" IPv4-address-literal IPv6v4-comp = [IPv6-hex *3(":" IPv6-hex)] "::" [IPv6-hex *3(":" IPv6-hex) ":"] IPv4-address-literal ; The "::" represents at least 2 16-bit groups of ; zeros. No more than 4 groups in addition to the ; "::" and IPv4-address-literal may be present.
RFC 5321 section 4.1.3
IPv6 address ends with a single colon

"test\©"@iana.org

Test #
160

Category
ISEMAIL_ERR

Diagnosis
ISEMAIL_ERR_EXPECTING_QPAIR

quoted-pair = ("\" (VCHAR / WSP)) / obs-qp VCHAR = %d33-126 ; visible (printing) characters WSP = SP / HTAB ; white space
RFC 5322 section 3.2.1
The address contains a character that is not allowed in a quoted pair
Other diagnoses: ISEMAIL_RFC5321_QUOTEDSTRING

test@iana/icann.org

Test #
161

Category
ISEMAIL_RFC5322

Diagnosis
ISEMAIL_RFC5322_DOMAIN

domain = dot-atom / domain-literal / obs-domain dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom-text = 1*atext *("." 1*atext)
RFC 5322 section 3.4.1
Address is RFC 5322 compliant but contains domain characters that are not allowed by DNS

test.(comment)[email protected]

Test #
165

Category
ISEMAIL_DEPREC

Diagnosis
ISEMAIL_DEPREC_COMMENT

obs-local-part = word *("." word) word = atom / quoted-string atom = [CFWS] 1*atext [CFWS] quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS]
RFC 5322 section 3.4.1
obs-domain = atom *("." atom) atom = [CFWS] 1*atext [CFWS]
RFC 5322 section 3.4.1
Address contains a comment in a position that is deprecated

test@org

Test #
166

Category
ISEMAIL_RFC5321

Diagnosis
ISEMAIL_RFC5321_TLD

In the case of a top-level domain used by itself in an email address, a single string is used without any dots. This makes the requirement, described in more detail below, that only fully-qualified domain names appear in SMTP transactions on the public Internet, particularly important where top-level domains are involved.
RFC 5321 section 2.3.5
Address is valid but at a Top Level Domain
Other diagnoses: ISEMAIL_DNSWARN_NO_MX_RECORD, ISEMAIL_DNSWARN_NO_RECORD

[email protected]

Test #
167

Category
ISEMAIL_VALID_CATEGORY

Diagnosis
ISEMAIL_VALID

test.com has an A-record but not an MX-record
Address is valid. Please note that this does not mean the address actually exists, nor even that the domain actually exists. This address could be issued by the domain owner without breaking the rules of any RFCs.
Expected category was ISEMAIL_DNSWARN
Expected diagnosis was ISEMAIL_DNSWARN_NO_MX_RECORD

[email protected]

Test #
168

Category
ISEMAIL_DNSWARN

Diagnosis
ISEMAIL_DNSWARN_NO_RECORD

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).
Couldn't find an MX record or an A-record for this domain
Other diagnoses: ISEMAIL_DNSWARN_NO_MX_RECORD
« back to top