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?