Loren Wilton wrote:
Valid email addresses have a well-known structure (i.e. [A-z.]*_NAME) so, for example [EMAIL PROTECTED] is clearly a bogus address.

Off the top of my head you might be able to do something like (untested):

header __GOOD_NAME To =~ /[A-Za-z]{1,30}_[A-Za-z\d\.]{2,40}\@(?i:domain\.com)/
meta        BAD_NAME    !__GOOD_NAME
score        BAD_NAME    2

Above is based on the assumption that "NAME" includes only letters, numbers, and dots. If it can also have underscores then you could just do \w{2,40} or the like for the second part.
Hmmm - not a bad start, I guess. If I were to put something like this in individual users' .spamassassin/user_prefs - then I could be even more restrictive about NAME. I am concerned, however, that this might not cope well with mailing lists (where To is the mailing list name) or in circumstances where the user is CC'd rather than addressed directly.


Reply via email to