Hello there,
I'm curious if anyone has implemented email address verification on their website (from Experian QAS or any other service) to validate the email is active and has no typos, etc. We are looking at implementing and would love to hear from other Tessitura clients on the process and any possible issues along the way.
All the best,
Chuck
Charles Buchanan
Senior Data Analyst
T 02 9250 7618
Sydney Opera House Bennelong Point
GPO Box 4274 Sydney NSW 2001 AUSTRALIA
I don't know the answer to your question, but I get a constant stream of bad emails from TNEW users, almost always with typos in the domain.
How hard would it be, really, to validate email addresses by doing a DNS lookup for a valid MX record on the domain? Won't solve for all cases, but I think that would be a minimum effort/maximum reward opportunity.
We haven't, but based on what Nick said, I've done a little digging. There is a project here:
http://www.c-sharpcorner.com/uploadfile/40e97e/verify-email-online/
which uses windows nslookup to validate the mx record and also sends commands to that smtp server to validate the user. It captures the response back and looks for a 250 response. If a non 250 reply comes back, this is a bad record. In the background, it sends these windows commands:
nslookup -q=mx gmail.com
to get the mx records
AND
telnet alt2.gmail-smtp-in.l.google.com 25
plus the commands below to manually verify the email address
HELO verify-email.org
MAIL FROM: <check@verify-email.org> RCPT TO: <evans.wayne@gmail.com> QUIT
MAIL FROM: <check@verify-email.org>
RCPT TO: <evans.wayne@gmail.com>
QUIT
the technical output looks something like this for a working record:
----------------------
C:\Users\nx9420>nslookup -q=mx gmail.com
Server: UnKnown
Address: 192.168.22.1
Non-authoritative answer:
gmail.com MX preference = 40, mail exchanger = alt4.gmail-smtp-in.l.google.com
gmail.com MX preference = 10, mail exchanger = alt1.gmail-smtp-in.l.google.com
gmail.com MX preference = 20, mail exchanger = alt2.gmail-smtp-in.l.google.com
gmail.com MX preference = 30, mail exchanger = alt3.gmail-smtp-in.l.google.com
gmail.com MX preference = 5, mail exchanger = gmail-smtp-in.l.google.com
gmail-smtp-in.l.google.com internet address = 74.125.206.27
C:\Users\nx9420>telnet alt2.gmail-smtp-in.l.google.com 25
220 mx.google.com ESMTP zp2si7016412pac.35 - gsmtp
250 mx.google.com at your service
250 2.1.0 OK zp2si7016412pac.35 - gsmtp
250 2.1.5 OK zp2si7016412pac.35 - gsmtp
221 2.0.0 closing connection zp2si7016412pac.35 - gsmtp
Connection to host lost.
-----------------------
and this for a bad email address, but good domain
------------------------
220 mx.google.com ESMTP bx2si15781387pbb.72 - gsmtp
250 2.1.0 OK bx2si15781387pbb.72 - gsmtp
RCPT TO: <evans.wayneBLAH@gmail.com>
550-5.1.1 The email account that you tried to reach does not exist. Please try
550-5.1.1 double-checking the recipient's email address for typos or
550-5.1.1 unnecessary spaces. Learn more at
550 5.1.1 http://support.google.com/mail/bin/answer.py?answer=6596 bx2si15781387
pbb.72 - gsmtp
221 2.0.0 closing connection bx2si15781387pbb.72 - gsmtp
-------------------------
I'm thinking, the project code could relatively easily be turned into a web service that is called at account sign up providing a valid, mxvalid and invaliddomain response, as all the code is there and your web code/config could decide what level of verification is acceptable?
This isn't foolproof as some mailservers (such as ours) will say that every address you put to it is correct.
Thanks, guys.
My understanding is that this is what the QAS product will do - after a new user enters the email address or an existing user changes the email address it will ping it around the world to the various email domains to validate. It would then ask the customer to re-enter if not valid. Very similar to postal address validation.