I have seen a number of messages in my logs recently which have sender 
addresses such as <""@adcofinancial.com>.  I had expected these to be rejected 
as invalid.  RFC2822 is a bit inconsistent for the local part. It can be either 
atom, dot-atom or a quoted string. The first two must contain at least one 
character but the latter can be empty!

In any event I decided to block them with

  deny message = Invalid sender address
       condition = ${if ! eq{$sender_address_domain}{}}
       condition = ${if eq{$sender_address_local_part}{}}

but it did not catch these addresses.  I found that changing the second 
condition to

       condition = ${if eq{$sender_address_local_part}{""}}

worked!

I am now not sure what is happening! Does {""} result in a string consisting of 
a pair of double-quotes, or is it a null string?  I would have expected the 
former from my reading of the spec.  If it were the null string then it would 
be the same as {}.  If it is a pair of double-quotes, how does it match a null 
local part?  Surely, $sender_address_local_part should be the unquoted version.

Phil.
---------------------------------------
Phil Chambers ([EMAIL PROTECTED])
University of Exeter


-- 
## List details at http://lists.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to