Hi,

the following is a part of my exim router configuration:

----------

hostedalias:
  driver= redirect
  domains= +hosted_domains
  condition= ${lookup pgsql{\
                SELECT localpart FROM mailalias WHERE \
                domainname='${quote_pgsql:$domain}' AND \
                localpart='${quote_pgsql:$local_part}'}\
              }
  data= ${lookup pgsql{\
           SELECT forward_to FROM mailalias WHERE \
           domainname='${quote_pgsql:$domain}' AND \
           localpart='${quote_pgsql:$local_part}'}\
        }
  hide_child_in_errmsg
  unseen


hosteduser:
  driver= accept
  domains= +hosted_domains
  condition= ${lookup pgsql{\
                SELECT localpart FROM mailbox WHERE \
                domainname='${quote_pgsql:$domain}' AND \
                localpart='${quote_pgsql:$local_part}'}\
              }
  transport= hosted_delivery
  cannot_route_message= Unknown mailbox


hostedcatchall:
  driver= redirect
  domains= +hosted_domains
  condition=     ${lookup pgsql{\
                        SELECT localpart FROM mailalias \
                        WHERE localpart='${quote_pgsql:*}' \
                        AND domainname='${quote_pgsql:$domain}' \
                    }\
                  }
  data= ${lookup pgsql{\
           SELECT forward_to FROM mailalias WHERE \
           domainname='${quote_pgsql:$domain}' AND \
           localpart='${quote_pgsql:*}'}\
        }
  hide_child_in_errmsg

--------------

The first one handles aliases (not the system aliases, since I use virtual 
users). 
The second one handles real mailboxes.
The third one is run when there is a catchall defined for the domain.

Since it should be possible to have an alias (that forwards to some other 
addresses) and a mailbox with the same name, the 'unseen' option is set on the 
first router. Therefore the second one is called, whether or not the first one 
already matches. That is ok.

The problem is, the third router should only be run when no other router 
matches. But since the first one has the 'unseen' option, it is run again.

Is there a way to find out, whether any other router already matched and set 
this as a condition to the third router?

Regards
Marco

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

Reply via email to