From: Reiner Steib <reinersteib+gmane@imap.cc>
Subject: Re: How do I check if the format of an email address is valid?
Date: Fri, 31 Mar 2006 01:30:02 +0200 [thread overview]
Message-ID: <v94q1fh5ol.fsf@marauder.physik.uni-ulm.de> (raw)
In-Reply-To: 442C5AD3.3090004@student.lu.se
On Fri, Mar 31 2006, Lennart Borgman wrote:
> Pascal Bourguignon wrote:
>> Lennart Borgman <lennart.borgman.073@student.lu.se> writes:
>>> - `message-valid-fqdn-regexp' (which is copied to
>>> gnus-button-valid-local-part-regexp')
You meant `gnus-button-valid-fqdn-regexp' here.
>>> has a list of TLD:s. Is this really wise?
Consider the purpose of these variables in Gnus:
`message-valid-fqdn-regexp' is used to exclude obvious bogus system
names from being used as the domain part in a Message-ID.
`gnus-button-valid-fqdn-regexp' is used when creating buttons
(clickable links) when a mail address or a Message-ID appears in the
body of mail/usenet articles: Say null123@marauder.physik.uni-ulm.de
or reiner.steib@gmx.de etc. The regexp should catch virtually all
valid addresses without generating too many false positives,
e.g. TeX code \def\foo@randomstuff.bar{} or similar.
If we miss some new TLD, it's not critical and the user can easily add
it or upgrade Gnus.
>>> I guess there will be new TLD:s. (In fact there may already be
>>> some that are not in this list.)
Is anyone aware of any missing TLDs?
(defcustom message-valid-fqdn-regexp
(concat "[a-z0-9][-.a-z0-9]+\\." ;; [hostname.subdomain.]domain.
;; valid TLDs:
"\\([a-z][a-z]" ;; two letter country TDLs
"\\|biz\\|com\\|edu\\|gov\\|int\\|mil\\|net\\|org"
"\\|aero\\|coop\\|info\\|name\\|museum"
"\\|arpa\\|pro\\|uucp\\|bitnet\\|bofh" ;; old style?
"\\)")
"Regular expression that matches a valid FQDN."
;; see also: gnus-button-valid-fqdn-regexp
:version "22.1"
:group 'message-headers
:type 'regexp)
>> You can customize the variable!
BTW, the tin newsreader even hard-codes a matrix of (in)valid
two letter country domains. The user/admin has to recompile to add new
domains. IIRC it's used when checking for a valid FQDN.
> This argument can be used in the reverse direction too. Do most
> users really gain something from the list of known TLD:s in the
> regexp?
For the purpose in Gnus: Yes, IMHO. What would you suggest to use
instead?
>>> - It is maybe a pitty that you have to load those big modules (message
>>> and gnus) just to get the patterns.
>> You only need to (require 'message) to get message-valid-fqdn-regexp.
[...]
>> And you only need to (require 'gnus-art) to get the other variables.
Well, `gnus-art.el' will in turn load "half of the moon": ;-)
,----[ emacs -Q -f ielm ]
| ELISP> (length features)
| 76
| ELISP> (require 'gnus-art)
| gnus-art
| ELISP> (length features)
| 130
`----
,----[ emacs -Q -f ielm ]
| ELISP> (length features)
| 76
| ELISP> (require 'message)
| message
| ELISP> (length features)
| 107
`----
> I just want to check the format of email addresses entered on a html page.
And you'll post-process it using Emacs?
>>> And then I can not stop myself from wondering if there really are any
>>> format of email addresses that asures that conforming addresses are
>>> actually existing email adresses ;-)
>> Of course not.
> And I will probably never learn the fine art of joking in email messages ;-)
I wasn't joking. :-) Of course not from the format, but...
Basically you need to do something like "host -t mx" (using
`dig.el'?), connect to the smtp port, send "RCPT TO:" and parse the
output ("user unknown"?). But I'm not sure if this still works
nowadays.
Bye, Reiner.
--
,,,
(o o)
---ooO-(_)-Ooo--- | PGP key available | http://rsteib.home.pages.de/
next prev parent reply other threads:[~2006-03-30 23:30 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-30 12:35 How do I check if the format of an email address is valid? Lennart Borgman
2006-03-30 14:16 ` Reiner Steib
2006-03-30 21:00 ` Lennart Borgman
[not found] ` <mailman.196.1143752412.2481.help-gnu-emacs@gnu.org>
2006-03-30 21:24 ` Pascal Bourguignon
2006-03-30 22:25 ` Lennart Borgman
2006-03-30 23:30 ` Reiner Steib [this message]
2006-03-31 11:26 ` Lennart Borgman
2006-03-31 14:05 ` Reiner Steib
2006-03-31 21:02 ` Lennart Borgman
[not found] <mailman.169.1143722125.2481.help-gnu-emacs@gnu.org>
2006-03-31 13:33 ` Mathias Dahl
2006-04-02 12:20 ` Xavier Maillard
2006-04-02 13:02 ` Lennart Borgman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=v94q1fh5ol.fsf@marauder.physik.uni-ulm.de \
--to=reinersteib+gmane@imap.cc \
--cc=Reiner.Steib@gmx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).