Terry Calie wrote:
> I would like to be able to accept my defined email addresses as well as 
> certain addresses I make-up on the fly.  The addresses I make up on the 
> fly are something like "[EMAIL PROTECTED]" when I order something 
> from their site.  (It allows me to track where spam comes from and eaily 
> block the one that starts getting spam later).
> 
> my server has a virtual /etc/shadow passwd file for each site.  so I can 
> find the virtual usernames there.  Then I just need to check if the 
> email address ends in "[EMAIL PROTECTED]".  If neither matches, I want to 
> reject the email.
> 
> During my ACL, I have the following to force verification:
> require verify = recipient
> 
> Then in my routers, I've tried defining the following router which 
> doesn't seem to decline anything (i'm looking to decline an address like 
> "[EMAIL PROTECTED]" but allow virtual addresses like 
> "[EMAIL PROTECTED]" and allow my dynamic addresses ending in 
> "[EMAIL PROTECTED]").
> 
> 
> 
> Am I doing something that's always returning true?
> 
> Thanks for any help.
> tc
> 
> 
> 
> 
> ==========================================
> 
> virtual_aliases_local_and_com:
>    driver = redirect
>    !condition = ${\
>                        if or{\
>  
> {lookup{$local_part}lsearch{/home/mysitedir/etc/mysite.com/shadow}}\
>                          {  match{$local_part}{.*com\$}   }\
>                        }\
>                  }
>    allow_fail
>    data = :fail: $local_part email address at this $domain was not found
>    verify_only
> 
> 
> 
> 


wow! it only took me 13 hours, but I figured it out:


virtual_aliases_local_and_com:
   driver = redirect
   condition = ${if and {\
                           {exists{/home/${lookup{$domain}lsearch* 
{/etc/userdomains}{$value}}/etc/$domain/shadow}}\
                           {\
                               !or {\
                                     {\
                                               match\
                                                   {\
                                                     ${\
 
lookup{$local_part}lsearch{/home/${lookup{$domain}lsearch* 
{/etc/userdomains}{$value}}/etc/$domain/shadow}\
                                                       }\
                                                   }\
                                                   {\N.*\d.*\N}\
                                     }\
                                     {\
                                               match\
                                                   {$local_part}\
                                                   {\N.*com$\N}\
                                     }\
                                 }\
                           }\
                     }\
               }
   allow_fail
   data = :fail: $local_part email address at this $domain was not found
   verify_only




-- 
## 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