[Exim] confusing local_delivery problems

Startseite
Nachricht löschen
Nachricht beantworten
Autor: Brian White
Datum:  
To: exim-users
Betreff: [Exim] confusing local_delivery problems
This is a multi-part message in MIME format.
--
I'm having a problem with exim that I just can't understand. I'm using
the Cyrus IMAPd server and have the same configuration at home as I
have set up (sucessfully) at work.

I have a transport:

# cyrus mail delivery
local_delivery:
driver = pipe
command = "/usr/sbin/cyrdeliver -e -q ${local_part}"
home_directory = /tmp
return_path_add
return_output
prefix = ""
user = cyrus


I also have the following directors:

real_local:
prefix = real-
driver = localuser
transport = local_delivery

localuser:
driver = localuser
transport = local_delivery


But it doesn't work. I always get "Neither the real_local director nor the
local_delivery transport set a uid for local delivery" error when I try
to send email to "real-bcwhite", which I can't understand since the
"local_delivery" transport specifically sets "user = cyrus". That user does
exist (I can "su - cyrus" successfully) and I've tried other uids, too
with the same results.

Oddly enough, mail to something matched by the "localuser" directory does
work but not through cyrus; it delivers it directly to /var/spool/mail/.
I find this very confusing since both specify the same transport.


Here is the debug output from a test message created by

    echo test | mail -s test real-bcwhite


Exim version 3.32 debug level 9 uid=0 gid=0
Berkeley DB: Sleepycat Software: Berkeley DB 2.7.7: (08/20/99)
dragon.bcwhite.dhs.org in local_domains? yes (matched dragon.bcwhite.dhs.org)
Unable to create IPv6 socket to find interface addresses:
error 97 Address family not supported by protocol
Trying for an IPv4 socket
Actual local interface address is 127.0.0.1 (lo)
Actual local interface address is 206.47.27.93 (eth0)
Caller is an admin user
Caller is a trusted user
set_process_info: 15542 delivering specified messages
delivering message 16MtxP-0003u0-00
set_process_info: 15542 delivering 16MtxP-0003u0-00
Opened spool file 16MtxP-0003u0-00-H
user=bcwhite uid=33858 gid=1001 sender=bcwhite@???
sender_local=1 resent=no ident=bcwhite
Non-recipients:
Empty Tree
---- End of tree ----
recipients_count=1
body_linecount=1 message_linecount=7
Writing spool header file
Size of headers = 322
Delivery address list:
real-bcwhite@???
locked /var/spool/exim/db/retry.lockfile
opened DB file /var/spool/exim/db/retry: flags=0
>>>>>>>>>>>>>>>>>>>>>>>>

Considering: real-bcwhite@???
search_open: lsearch "/etc/exim/domains"
search_find: file="/etc/exim/domains"
key="bcwhite.dhs.org" partial=-1
LRU list:
7/etc/exim/domains
End
internal_search_find: file="/etc/exim/domains"
type=lsearch key="bcwhite.dhs.org"
file lookup required for bcwhite.dhs.org
in /etc/exim/domains
lookup yielded: aliases=/etc/email/aliases names=/etc/email/fullnames
bcwhite.dhs.org in local_domains? yes (matched lsearch;/etc/exim/domains)
bcwhite.dhs.org in percent_hack_domains? no (end of list)
unique = real-bcwhite@???
dbfn_read: key=D:real-bcwhite@???
real-bcwhite@???: queued for directing
>>>>>>>>>>>>>>>>>>>>>>>>

directing real-bcwhite@???
real-bcwhite in "postmaster"? no (end of list)
postmaster director skipped: local part mismatch
stripped prefix real-
calling real_local director
real_local director called for real-bcwhite@???
queued for local_delivery transport: local_part=bcwhite domain=bcwhite.dhs.org
errors_to=NULL
domain_data=NULL local_part_data=NULL
real_local director succeeded for bcwhite
>>>>>>>>>>>>>>>>>>>>>>>>

After directing:
  Local deliveries:
    real-bcwhite@???
  Remote deliveries:
  Failed addresses:
  Addresses to be routed:
  Deferred addresses:
search_tidyup called

>>>>>> Local deliveries >>>>>>

locked /var/spool/exim/db/retry.lockfile
opened DB file /var/spool/exim/db/retry: flags=0
dbfn_read: key=T:bcwhite@???
LOG: 0 MAIN PANIC DIE
Neither the real_local director nor the local_delivery transport set a uid for local delivery of real-bcwhite@???
search_tidyup called


Attached is my full /etc/exim.conf file. As I said, this part is
identical to my setup at work that runs perfectly. I have not been
able to determine what the difference would be. Both systems are
running v3.22 of exim.

Thanks in advance for any help!

                                          Brian
                                  ( bcwhite@??? )


-------------------------------------------------------------------------------
Understanding is a three-edged sword: your side, their side, and the truth.
--
[ exim.conf of type application/octet-stream deleted ]
--