Ben Finney wrote: > "John Machin" <[EMAIL PROTECTED]> writes: > > >>A little more is unfortunately not enough. The best advice you got was >>to use an existing e-mail address validator. The definition of a valid >>e-mail address is complicated. You may care to check out "Mastering >>Regular Expressions" by Jeffery Friedl. In the first edition, at least >>(I haven't looked at the 2nd), he works through assembling a 4700+ byte >>regex for validating e-mail addresses. Yes, that's 4KB. It's the best >>advertisement for *not* using regexes for a task like that that I've >>ever seen. > > > The best advice I've seen when people ask "How do I validate whether > an email address is valid?" was "Try sending mail to it". > That only applies if it's a likely-looking email address. If someone asks me to send mail to "splurge.!#$%*&[EMAIL PROTECTED]><{}_)" I will probably assume that it isn't worth my time trying.
If the email looks syntactically correct, *then* it's worth further validation by trying a delivery attempt. > It's both Pythonic, and truly the best way. If you actually want to > confirm, don't try to validate it statically; *use* the email address, > and check the result. Send an email to that address, and don't use it > any further unless you get a reply saying "yes, this is the right > address to use" from the recipient. > This is a rather scatter-shot approach. Many possibilities can be properly eliminated by judicious lexical checks before delivery is considered. > The sending system's mail transport agent, not regular expressions, > determines which part is the domain to send the mail to. > > The domain name system, not regular expressions, determines what > domains are valid, and what host should receive mail for that domain. > > Most especially, the receiving mail system, not regular expressions, > determines what local-parts are valid. > Nevertheless, I am *not* going to try delivery to (for example) a non-local address that doesn't contain an "at@ sign. regards Steve -- Steve Holden +44 150 684 7255 +1 800 494 3119 Holden Web LLC/Ltd http://www.holdenweb.com Skype: holdenweb http://holdenweb.blogspot.com Recent Ramblings http://del.icio.us/steve.holden -- http://mail.python.org/mailman/listinfo/python-list