[Exim] autoreply-problems

Top Page
Delete this message
Reply to this message
Author: Arnold Jäger
Date:  
To: exim-users
Subject: [Exim] autoreply-problems
Hi,

I want to use exims autoreply capabilities to send vacation messages.

my config:

######################################################################
## autoreply/vacation transport
uservacation:
  driver =  autoreply
  user = ${local_part}
  once = ${home}/vacation-once
  file = ${home}/vacation.txt
  log  = ${home}/vacation.log
  return_message = true
  text = "\
 ------                                                           ------\n\n\
 This message was automatically generated by email software\n\
 The delivery of your message has not been affected.\n\n\
 ------                                                           ------\n\n"
  to = "${sender_address}"
  subject =  "${if def:h_Subject: {Autoreply: $h_Subject:} {I am on vacation}}"
##


######################################################################
## This director handles the automatic return of a vacation message
## vacation director....##
uservacation:
  driver = localuser
  transport = uservacation
  require_files = ${home}/vacation.txt
  # do not reply to errors or lists
  senders = "! ^.*-request@.*:\
              ! ^owner-.*@.*:\
              ! ^postmaster@.*:\
              ! ^listmaster@.*:\
              ! ^mailer-daemon@.*"
  # do not reply to errors and bounces or lists
  condition = "${if or {{match {$h_precedence:} {(?i)junk|bulk|list}} \
                        {eq {$sender_address} {}}} {no} {yes}}"
  # carry on checking regardless of the outcome of this  director...
  unseen
  no_expn
  no_verify
  user = ${local_part}
######################################################################


(got this from config.sample)

if exim runs as root everything works fine,
but if it runs as nobody I get the following
debug-output (userforward is called before):


calling userforward director
userforward director: file = .forward
set uid=0 gid=0 euid=1001 egid=0
successful stat of /arnold/.
/arnold/.forward not found
restored uid=0 gid=0 euid=65534 egid=65534
calling uservacation director
require_files = /arnold/vacation.txt
test existence of /arnold/vacation.txt
required present, EACCES => unknown
Permission denied
uservacation director deferred arnold
message: file existence defer in uservacation director: Permission denied

userforward sets euid and egid of the user
but before looking up the vacation file euid and egid
of nobody are restored (which leads to -> permission denied).

How can I change this behavior?

regards
Arnold