On Wed, 14 Oct 2020, Jürgen Edner via Exim-users wrote:

Hi
I've spent several hours studying the Exim documentation (chapter 15,
16 etc.)s und trying to understand why the following router doesn't
work reliable on different systems. As far as I understood, the $home
variable should always be set when check_local_user is being executed.
The result could then be used in a following pre-condition check.

Although the debug_print shows that the variable has been set,
the following condition statement fails.

I have the impression that this problem only happens if an accept
router is used, but a redirect router doesn't run into that problem?!

localuser_maildir:
 driver = accept
 check_local_user
 debug_print = DEBUG-HOME:$home:
 condition = ${if exists{$home/.imapmail/cur}}
 transport = local_delivery_maildir

Trace:

25242 --------> localuser_maildir router <--------
25242 local_part=tom domain=my-domain.dom
25242 checking for local user
25242 seeking password data for user "tom": cache not available
25242 getpwnam() succeeded uid=2001 gid=100
25242 DEBUG-HOME:/home/tom:
25242 checking "condition" "${if exists{$home/.imapmail/cur}}"...
25242 localuser_maildir router skipped: condition failure
25242 --------> unknown_user router <--------

Does anyone have an idea why the condition fails and what need to
be done to get it running?

Stupid questions first:

Does /home/tom/.imapmail/cur exist ?
Does the user/group under which exim is running have 'x' permissions on /home/tom/ and /home/tom/.imapmail ?

ie can we see the result of
  ls -ld /home/tom /home/tom/ /home/tom/.imapmail /home/tom/.imapmail/cur
please ?

--
Andrew C. Aitchison                                     Kendal, UK
                        [email protected]
--
## 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