Hello, all.
I've just about got Exim working how I want it, except it's behaviour is
baffling me (perhaps related to it being 3 in the morning).
I have a system_aliases director which looks like this:
system_aliases:
driver = aliasfile
file = /usr/exim/${domain}/aliases
search_type = lsearch
file_transport = address_file
This seems to be successfully pulling out all of the aliases, and if I put
in forwarding email addresses only, it works like a champ. If I put a path
to a file, such as /var/spool/mail/user, the message is passed along to the
address_file transport, shown here:
address_file:
driver = appendfile
user = ${local_part}
file = ${address_file}
group = mail
delivery_date_add
envelope_to_add
return_path_add
Now, this should append the email to the file specified in the aliases file,
running as the UID of the person it was addressed to, correct?
That's what I thought, but I get this odd behaviour when try using an
apendfile (much of the debug 9 has been removed, as it isn't pertinent):
Sender: root@???
Recipients:
trevor@???
search_tidyup called
Subject: Test
Test
.
[root@ftp exim]# exec /usr/exim/bin/exim -d9 -Mc 13ScoX-0006o4-00
Non-recipients:
Empty Tree
---- End of tree ----
recipients_count=1
Delivery address list:
trevor@???
>>>>>>>>>>>>>>>>>>>>>>>>
Considering: trevor@???
virtualdomain.com in percent_hack_domains? no (end of list)
unique = trevor@???
dbfn_read: key=D:trevor@???
trevor@???: queued for directing
>>>>>>>>>>>>>>>>>>>>>>>>
directing trevor@???
calling system_aliases director
system_aliases director: lsearch key=trevor
file="/usr/exim/virtualdomain.com/aliases"
search_open: lsearch "/usr/exim/virtualdomain.com/aliases"
search_find: file="/usr/exim/virtualdomain.com/aliases"
key="trevor" partial=-1
LRU list:
6/usr/exim/virtualdomain.com/aliases
End
internal_search_find: file="/usr/exim/virtualdomain.com/aliases"
type=lsearch key="trevor"
file lookup required for trevor
in /usr/exim/virtualdomain.com/aliases
lookup yielded: /var/mail/spool/trevor
parse_extract_addresses: /var/mail/spool/trevor
extract item: /var/mail/spool/trevor
system_aliases director generated /var/mail/spool/trevor
pipe, file, or autoreply
errors_to=NULL transport=address_file
uid=unset gid=unset home=NULL
system_aliases director succeeded for trevor
locked /usr/exim/spool/db/retry.lockfile
opened DB file /usr/exim/spool/db/retry: flags=0
>>>>>>>>>>>>>>>>>>>>>>>>
Considering: /var/mail/spool/trevor
unique = /var/mail/spool/trevor:trevor@???
>>>>>>>>>>>>>>>>>>>>>>>>
After directing:
Local deliveries:
/var/mail/spool/trevor
Remote deliveries:
Failed addresses:
Addresses to be routed:
Deferred addresses:
search_tidyup called
>>>>>> Local deliveries >>>>>>
locked /usr/exim/spool/db/retry.lockfile
opened DB file /usr/exim/spool/db/retry: flags=0
dbfn_read: key=T:/var/mail/spool/trevor@???
delivering /var/mail/spool/trevor as /var/mail/spool/trevor using
address_file:
uid=505 gid=12 home=NULL current=/
auxiliary group list: <none>
set_process_info: 26170 3.16 delivering 13ScoX-0006o4-00 to
/var/mail/spool/trevor using address_file
appendfile transport entered
appendfile: mode=600 notify_comsat=0 quota=0
file=/var/mail/spool/trevor format=unix
prefix=From ${if def:return_path{$return_path}{MAILER-DAEMON}}
${tod_bsdinbox}\n
suffix=\n
locking by lockfile fcntl
address_file transport: /var/mail/spool
address_file transport returned DEFER
added retry item for T:/var/mail/spool/trevor@???: errno=13 0
flags=0
post-process /var/mail/spool/trevor (2)
LOG: 0 MAIN
== /var/mail/spool/trevor <trevor@???> T=address_file defer
(13): Permission denied: failed to create directories for /var/mail/spool:
Permission denied
Again, I apologize for sending all of this debug info, but I think I
stripped out most of the extra stuff. Please, can someone explain to me why
it's trying to create a directory, and what directory that might be?
Thanks a bunch.
Trevor Sky Garside
trevor@???