How an email address that doesn't exist can ruin my business?
Mail servers do not only exchange messages between them; they also have several mechanisms to fight against spam. An email server that receives too many messages destined to non-existing domains can automatically report the emitting domain as a potential spamming source.
Once your domain name received multiple spam suspicion reports, you could be considered a spammer and your mail server could be blacklisted. The consequence is that most of your emails will be blocked by spam filters before they have a chance to reach your recipients' mailboxes.
There are several ways to reduce the risk of being blacklisted. The first and easiest mechanism to set-up is to implement an email address verification script which ensures that the recipient's domain exists and contains email servers.
Why not check the existence of the mailbox against the recipient's SMTP server?
Those who know the SMTP protocol might want to implement a verification script to send the recipient's mail server the VRFY command. The VRFY command allows you to verify a mailbox's existence on an SMTP server, which could have been convenient in our situation. Unfortunately, most SMTP servers do not respond correctly to the VRFY command, making it unusable.
What is the best method to verify MX fields and SMTP configuration?
The fastest and cheapest way is to use an API to verify the email address's domain configuration.
Abstract Email Verification API is free and easy to use. It provides information on the MX fields and the SMTP server and additional interesting data about an email address, in real-time.
To use it, you only need to create an account on the Abstract website. Then you are ready to use the API.
How to check the health of an SMTP server?
Once you have the names of the SMTP servers of the recipient's domain, you should check that its service is working.
The common way to do this is to use the telnet utility and connect to the SMTP port to check that the server responds. The SMTP port number is generally 25, and here is how to proceed:
We received a response from the SMTP server and can deduct for sure that it's up and running.
Note that depending on the server configuration, it is possible that the server is not listening on port 25 but ports 465, 587, or 2525.
How to automate checks on MX records and SMTP servers?
Even if these manual methods allow you to obtain results in a few minutes, it is inconceivable to proceed this way when you have a multitude of email addresses to be checked.
It is then necessary to use a service capable of providing this information automatically and quickly.
Abstract provides an API that allows you to check MX records and SMTP servers from an email address for free. Besides, the analysis data that the Abstract API provides contains a lot of additional information about the recipient's email address and its configuration.
Register on the Abstract site with your email address and your chosen password, which does not require a credit card. You are ready to use the API with a simple GET call. Here is an example of use with curl from the command line:
The Domain Name System, commonly known as DNS, is mainly used to match a domain name with an IP address. This is how most Internet users can easily access their favorite websites. But DNS records are not simply limited to websites' IP resolution. They actually provide a whole configuration about a domain name.Among these configurations are MX records, which is an abbreviation of mail exchange. MX records are used to indicate to which mail server to connect to reach the mailboxes hosted on a domain. So an SMTP server needing to send an email will first examine the MX fields of the destination domain to find out which mail server to address next.