Vasiliy G Tolstov wrote:
> В Срд, 19/08/2009 в 11:15 +0200, Renaud Allard пишет:
>
>> Well, as it seems you also reject perfectly valid email addresses :)
>>
>> v.tolstov@???
>> SMTP error from remote mail server after RCPT TO:<v.tolstov@???>:
>> host mx2.selfmail.ru [77.221.143.26]: 550 X-ACL-SMTP-MAIL:
>> Invalid sender (<renaud/v.tolstov/selfip.ru/vuhgilkk@???>)
>
> Hm.. My condition is:
>
> ${if match {$sender_address_local_part}{\N^(\.|.+\.\.|.*[\%\/\!\&\$\@\|
> \~\`])\N} {yes}{no}}
>
> Why <renaud/v.tolstov/selfip.ru/vuhgilkk@???> is valid e-mail
> adaress?
>
Because RFC5321 (and 2821, 821) says so:
Here is what RFC says (I removed useless parts):
Reverse-path = Path / "<>"
Path = "<" [ A-d-l ":" ] Mailbox ">"
A-d-l = At-domain *( "," At-domain )
; Note that this form, the so-called "source
; route", MUST BE accepted, SHOULD NOT be
; generated, and SHOULD be ignored.
At-domain = "@" Domain
Mailbox = Local-part "@" ( Domain / address-literal )
Local-part = Dot-string / Quoted-string
; MAY be case-sensitive
Dot-string = Atom *("." Atom)
Atom = 1*atext
atext = ALPHA / DIGIT / ; Any character except controls,
"!" / "#" / ; SP, and specials.
"$" / "%" / ; Used for atoms
"&" / "'" /
"*" / "+" /
"-" / "/" /
"=" / "?" /
"^" / "_" /
"`" / "{" /
"|" / "}" /
"~"
So, basically, you can have a valid mailbox like this (without quotes)
"/dev/null.{tricky}@???"