PHP Email Validation - SMTP, MX Record and Regular Expression
PHP Email Verification is a simple PHP function that can be easily used to verify email addresses and ensure that they are valid and actually exist on the mail server.
In addition to checking the syntax, PHP Email Verification is also use MX-Records and Simple Mail Transfer Protocol (SMTP) to check the actual existence of an email address.
We sometimes need to verify the validation of a given email address. The simplest method we have is to send a verification email to the given email address and ask the user to click the link in that email. But in addition, we have three other methods, namely SMTP email verification, MX record checking, and regular expressions.
This php email validation script which validates email address using SMTP validation, mx record check and regular expression.
Regular Expression Check:
This is simple type of email validation and it's done in client side. This method doesn't check whether the email actually exist or not, but it simply checks given email is in standard form or not.
MX Record Check:
Usually a mail server is configured to process emails for a domain. MX Record holds ip address of that mail server, just like a pointer. So by checking MX Records we can make sure whether this domain can process emails or not.
This will avoid providing emails with fault domain names, like firstname.lastname@example.org etc. But still we aren't sure that the given email exist or not as we check only domain capabilities.
SMTP Email Validation:
SMTP Email Validation done by communicating mail server through SMTP commands such as HELO, RCPT To etc. You can learn more about SMTP commands here. By checking reply code from mail server we can make sure whether given email exist or not.
We follow below order in validating email:
1. Sender: HELLO! I'm the sending mail server.
2. Receiver: Hello, I'm the receiving mail server. Go ahead!
3. Sender: Mail from: Somebody
4. Receiver: OK, that's good.
5. Sender: Mail to: Somebody else
6. Receiver: Okay, that's fine
For each command listed above, we receive a status code from reply server. In step 6, if we receive reply code as 250, then we can assume that email was accepted and it is exist. Even if the reply code is 450 / 451, we can still think that email exist, because these codes were sent when there is a temporary error in MTA or email gray listed.
PHP Email Verification is a simple PHP function, after you buy it, you can copy and insert this function into your PHP script and get it work easily. If you have any question for this PHP script, please feel free to let us know, we are glad to assist you asap.