>>>>> "PH" == Philip Hazel <ph10@???> writes:
PH> Was there a previous verify = recipient? If not, there is no hope
PH> that $home will be set.
No, there isn't. Perhaps this was some dead test code that for some
reason stuck around in my config file after I was testing. I guess I
was trying to refuse dead RCPTs with a useful message at SMTP time.
Please forgive me; I'm far from an expert at this. My userforward
router looks like:
userforward:
driver = redirect
condition = ${if match {$home}{^/dead/}{no}{yes}}
check_local_user
file = $home/.forward
local_part_suffix = +*
local_part_suffix_optional
no_verify
no_expn
check_ancestor
allow_filter
file_transport = address_file
pipe_transport = address_pipe
reply_transport = address_reply
So obviously I have other code to deal with this case. I suppose the
problem is that the next router is:
# Use procmail if user has a .procmailrc file
procmail:
driver = accept
local_part_suffix = +*
local_part_suffix_optional
check_local_user
require_files = $local_part:+$home/.procmailrc
transport = procmail_pipe
and while the userforward router passes on the address, the procmail
router doesn't and thus the problems occur.
If I understand correctly, what I need is a redirect router that does:
condition = ${if match {$home}{^/dead/}{yes}{no}}
to explicitly accept only terminated users and then fail:
terminated:
driver = redirect
condition = ${if match {$home}{^/dead/}{yes}{no}}
allow_fail
data = :fail: This user has been terminated.
I'll try that out.
- J<