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/