Hi Exim community!
I am having trouble delivering emails to local users via appendfile. I
can see the emails in /etc/spool/exim/inputs and read their contents
manually, but such mail is not delivered to the users. Specifically, it
seems such emails are defered and frozen. To debug this issue, I have
made the following changes to my (mostly default, except I added DKIM)
exim.conf (full exim.conf attached, domain redacted as my.domain):
I have enabled all logging:
log_selector = +all
I have also added a "message" field to any "require" fields in my ACLs
(since the messages are deferred and not rejected):
require message = Did not verify sender address
verify = sender
require message = relay not permitted
domains = +local_domains : +relay_to_domains
require message = Did not verify recipient
verify = recipient
None of the above messages are printed in the log. When I restart the
exim server, and try to send an email to myself from my gmail, I get the
following in my /var/spool/exim/log/mainlog (again, my domain replaced
with my.domain):
2024-04-30 14:10:23 Warning: purging the environment.
Suggested action: use keep_environment.
2024-04-30 14:10:23.761 [11772] cwd=/ 5 args: /gnu/store/076bissc2g84ic1lcb5jw9hx3wnvl7j7-exim-4.96.1/bin/exim -bd -v -C /gnu/store/0x6ckmwhhgmpcl1zb2k27gs9b5mywx1w-exim.conf
2024-04-30 14:10:23.762 [11772] exim 4.96.1 daemon started: pid=11772, no queue runs, listening for SMTP on port 25 (IPv4)
2024-04-30 14:11:12.314 [11772] SMTP connection from [209.85.221.45]:46394 I=[192.168.254.211]:25 (TCP/IP connection count = 1)
2024-04-30 14:11:13.102 [11791] 1s1rwf-00034B-0B DKIM: d=gmail.com s=20230601 c=relaxed/relaxed a=rsa-sha256 b=2048 t=1714500671 x=1715105471 [verification succeeded]
2024-04-30 14:11:13.110 [11791] 1s1rwf-00034B-0B <= zaccysc@??? H=mail-wr1-f45.google.com [209.85.221.45]:46394 I=[192.168.254.211]:25 P=esmtps L.- X=TLS1.3:ECDHE_X25519__ECDSA_SECP256R1_SHA256__AES_128_GCM:128 CV=no SNI=my.domain K S=9126 M8S=0 DKIM=gmail.com RT=0.033s id=CAJejy7kB=Lbz_+6vu2Em5UaS6wD3X=3ymEL8bVEZg7b26Wmcug@??? T="Re: foo" from <zaccysc@???> for postmaster@???
2024-04-30 14:11:13.244 [11791] SMTP connection from mail-wr1-f45.google.com [209.85.221.45]:46394 I=[192.168.254.211]:25 closed by QUIT
There is no error printed at this point. I then try to see the status
of that message by printing the contents of
/var/spool/exim/msglog/1s1rwf-00034B-0B:
2024-04-30 14:11:13.110 Received from zaccysc@??? H=mail-wr1-f45.google.com [209.85.221.45]:46394 I=[192.168.254.211]:25 P=esmtps L.- X=TLS1.3:ECDHE_X25519__ECDSA_SECP256R1_SHA256__AES_128_GCM:128 CV=no SNI=my.domain K S=9126 M8S=0 DKIM=gmail.com RT=0.033s id=CAJejy7kB=Lbz_+6vu2Em5UaS6wD3X=3ymEL8bVEZg7b26Wmcug@??? T="Re: foo"
2024-04-30 14:11:13.123 zacchae@localhost <postmaster@???> R=localuser T=local_delivery defer (-1) DT=0.003s
*** Frozen
It seems to understand that postmaster@??? should translate to my
account at the current machine via /etc/aliases (zacchae@localhost), and
that the localuser transport of local_delivery should be used. However,
such delivery is deferred for some reason which is not printed to the
mainlog. My local_delivery config in the transports section is:
local_delivery:
driver = appendfile
file = /var/mail/$local_part_data
delivery_date_add
envelope_to_add
return_path_add
I thought maybe exim was unable to write the message to /var/mail/, so I
(temporarily) gave /var/mail 666 permissions, but this did not help. As
mentioned at the beginning, I can see the emails and their content in
/var/spool/exim/input.
Can you help me get mail to deliver to users?
-Zacchae
--
## subscription configuration (requires account):
##
https://lists.exim.org/mailman3/postorius/lists/exim-users.lists.exim.org/
## unsubscribe (doesn't require an account):
## exim-users-unsubscribe@???
## Exim details at
http://www.exim.org/
## Please use the Wiki with this list -
http://wiki.exim.org/