The era of known top-level domains or valid TLD patterns is mostly over

December 28, 2013

Once upon a time you could create a list of valid top level domains and thus rapidly validate if an email address presented to you was even possibly correct. If you were slightly more bootleg you could do it with patterns, since all TLDs were either two letter country codes or three letter 'traditional' TLDs (and you could actually list those). This era started to crumble a while after I did my bootleg hacks to a mailer here, with the introduction of things like .info, but for a while I patched up the cracks by accepting four-letter TLDs.

That era is over now. It's probably been over for a while but I didn't really notice because new TLDs haven't generally been introduced or at least used in email to this one ancient system that basically only gets spam now. But I just got an email attempt with a MAIL FROM of a .travel domain and the domain actually exists so, well, so much for that. So I've taken that particular bit of bootleg cleverness out of this old mailer's configuration.

(I don't regret rejecting this particular email message because, as mentioned, it's highly likely that it was spam. But I sort of want this mailer's rejections to not be laughably wrong.)

PS: I could probably arrange to get a list of all currently valid TLDs from somewhere if I really wanted to. But that's more work than this old mailer justifies.

(Why I care about detecting valid top-level domains instead of just checking whether the address is fully valid is a long, sad story involving some design decisions by this mailer that were valid when it was written a long time ago but aren't really any more. The short version is 'uncontrollable address canonicalization'.)

Written on 28 December 2013.
« A reason to keep tags external in 'entry as file' blog engines
Broad thoughts on tags for blog entries »

Page tools: View Source, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Sat Dec 28 01:13:37 2013
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.