著者: Martin Nicholas 日付: To: exim-users 題目: [exim] "non-SMTP ACL discarded recipients" causes crash?
It looks like V4.34 crashes when using discard in the non-SMTP ACL. Log as shown: > 2005-08-16 03:44:41 Start queue run: pid=23458
> 2005-08-16 03:44:41 1E4kXE-0005JD-37 Message is frozen
> 2005-08-16 03:44:41 1E4oQw-0005q7-9q Unfrozen by auto-thaw
> 2005-08-16 03:44:42 1E4oQw-0005q7-9q ** ??????????????@virgin.net <?????????????> R=dnslookup T=remote_smtp: SMTP error from remote mailer after end of data: host inbound.virgin.net.criticalpath.net [64.97.139.1]: 554 Message refused
> 2005-08-16 03:44:43 1E4sNX-00066Q-6p <= <> R=1E4oQw-0005q7-9q U=Debian-exim P=local S=2147 T="Mail delivery failed"
> 2005-08-16 03:44:43 1E4sNX-00066Q-6p => blackhole (non-SMTP ACL discarded recipients)
> 2005-08-16 03:44:43 1E4sNX-00066Q-6p Completed
> 2005-08-16 03:44:43 1E4oQw-0005q7-9q Process failed (1) when writing error message to postmaster@??????????????? (frozen)
> 2005-08-16 03:44:43 End queue run: pid=23458
This is the ACL: > acl_check_not_smtp:
>
> # Drop bounce messages that can't be returned due to a duff sender.
> # We test the body (1st "message_body_visible" chars) for this header!
> # $message_body has \n's replaced by a space.
> # X-SenderVerify: Header added in the data ACL
> discard senders = :
> condition = ${if match {$message_body}{\N X-SenderVerify: BAD \N} {1}}
>
> # Add a header
> warn message = X-non_SMTP_ACL: yes
>
> accept
>
> #EOF
Remove the "discard" lines then the message is delivered back to the postmaster.
Here's the theory. I use: > errors_to = postmaster in the dnslookup router. Followed by: > return_path = $sender_address in the SMTP transport. This (I hope) stops "collateral SPAM" going back to any innocent sender.
Ones which simply can't ever be returned are dropped, others are sent to the postmaster for scrutiny.
I'd like to copy the X-SenderVerify: header from the original to the bounce, but that's another question.