On 29/11/17 22:44 Jeremy Harris wrote:

> On 29/11/17 22:18, Sebastian Arcus via Exim-users wrote:
>  > Is there a way to build a router only for verification of local
> > addresses for inbound messages? As far as I can tell, verify = recipient > > doesn't work when Exim delivers to Dovecot through dovecot-lda - as this
>  > always verifies the recipient (as long as the domain is in
>  > +local_domains) no matter what the local part is. I guess the only way
>  > is to construct an extra router, which does verification separately,
>  > maybe against a separate list of local addresses in a file?
>
> Once you have such a list, you could constrain the current router
> that handles their delivery to use it too.

Thank you. I think I've managed to put it all together. I used the following router condition for the Dovecot router to test if the recipient email address does exist, during verification:

dovecot_router:
  driver = accept
  domains = +local_domains
  condition = ${lookup{$local_part@$domain} \
                  lsearch{/etc/exim/exim.passwd}{found}{}}
  transport = dovecot_delivery

I have a list of local addresses in a text file (in full, not just the local part) - but I suppose the above can be adapted to do a SQL lookup if necessary.

I find it bizarre that, although Dovecot is such a popular and long running imap sever, and they even have example config files on their wiki for integration with Exim, the issue of verifying inbound email recipients against Dovecot seems to have virtually no support or information anywhere on the Internet. Maybe everyone else uses real local system users for Dovecot, instead of a user database - and they user the check_local_user option in the router?

--
## List details at https://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