Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
a local clone.
std.net.isemail
Validates an email address according to RFCs 5321, 5322 and others.
Authors:
Dominic Sayers <[email protected]>, Jacob Carlborg
License:
Version:
3.0.13 - Version 3.0 of the original PHP implementation: http://www.dominicsayers.com/isemail
Standards:
- RFC 5321
- RFC 5322
References:
Source: std/net/isemail.d
- Check that an email address conforms to RFCs 5321, 5322 and others.As of Version 3.0, we are now distinguishing clearly between a Mailbox as defined by RFC 5321 and an addr-spec as defined by RFC 5322. Depending on the context, either can be regarded as a valid email address. The RFC 5321 Mailbox specification is more restrictive (comments, white space and obsolete forms are not allowed).
Note: The DNS check is currently not implemented.
Parameters:Returns:an EmailStatus, indicating the status of the email address. - Enum for indicating if the isEmail function should perform a DNS check or not.
- Does not perform DNS checking
- Performs DNS checking
- This struct represents the status of an email address
- The local part of the email address, that is, the part before the @ sign.
- The domain part of the email address, that is, the part after the @ sign.
- The email status code
- Returns a textual representation of the email status
- Returns a describing string of the given status code
- An email status code, indicating if an email address is valid or not. If it is invalid it also indicates why.
- Address is valid
- Address is valid but a DNS check was not successful
- Address is valid for SMTP but has unusual elements
- Address is valid within the message but cannot be used unmodified for the envelope
- Address contains deprecated elements but may still be valid in restricted contexts
- The address is only valid according to the broad definition of RFC 5322. It is otherwise invalid
- All finer grained error checking is turned on. Address containing errors or warnings is considered invalid. A specific email status code will be returned indicating the error/warning of the address.
- Address is either considered valid or not, no finer grained error checking is performed. Returned email status code will be either Error or Valid.
- Address containing warnings is considered valid, that is, any status code below 16 is considered valid.
- Address is invalid for any purpose
- Could not find an MX record for this domain but an A-record does exist
- Could not find an MX record or an A-record for this domain
- Address is valid but at a Top Level Domain
- Address is valid but the Top Level Domain begins with a number
- Address is valid but contains a quoted string
- Address is valid but at a literal address not a domain
- Address is valid but contains a :: that only elides one zero group
- Address contains comments
- Address contains Folding White Space
- The local part is in a deprecated form
- Address contains an obsolete form of Folding White Space
- A quoted string contains a deprecated character
- A quoted pair contains a deprecated character
- Address contains a comment in a position that is deprecated
- A comment contains a deprecated character
- Address contains a comment or Folding White Space around the @ sign
- Address is RFC 5322 compliant but contains domain characters that are not allowed by DNS
- Address is too long
- The local part of the address is too long
- The domain part is too long
- The domain part contains an element that is too long
- The domain literal is not a valid RFC 5321 address literal
- The domain literal is not a valid RFC 5321 address literal and it contains obsolete characters
- The IPv6 literal address contains the wrong number of groups
- The IPv6 literal address contains too many :: sequences
- The IPv6 address contains an illegal group of characters
- The IPv6 address has too many groups
- IPv6 address starts with a single colon
- IPv6 address ends with a single colon
- A domain literal contains a character that is not allowed
- Address has no local part
- Address has no domain part
- The address may not contain consecutive dots
- Address contains text after a comment or Folding White Space
- Address contains text after a quoted string
- Extra characters were found after the end of the domain literal
- The address contains a character that is not allowed in a quoted pair
- Address contains a character that is not allowed
- A quoted string contains a character that is not allowed
- A comment contains a character that is not allowed
- The address cannot end with a backslash
- Neither part of the address may begin with a dot
- Neither part of the address may end with a dot
- A domain or subdomain cannot begin with a hyphen
- A domain or subdomain cannot end with a hyphen
- Unclosed quoted string
- Unclosed comment
- Domain literal is missing its closing bracket
- Folding White Space contains consecutive CRLF sequences
- Folding White Space ends with a CRLF sequence
- Address contains a carriage return that is not followed by a line feed
Dominic Sayers, Jacob Carlborg 2008-.
Test schema documentation: Copyright © 2011, Daniel Marschall
| Page generated by
Ddoc on (no date time)