[exim] Exim treats permanent delivery error as temporary

Top Page
Delete this message
Reply to this message
Author: Felix Schwarz
Date:  
To: exim-users
New-Topics: [exim] 421 SMTP incoming data timeout - message abandoned (local delivery!)
Subject: [exim] Exim treats permanent delivery error as temporary
Hi,

I have an Exim mail server (4.43, CentOS 4, "myserver.example") which tries to
send a mail to a remote server by SMTP. This remote server ("mail.example.com")
rejects the sender address with "554 5.1.0 Sender Denied" because the admins
blacklisted the sender address.

I expected that my Exim would generate a bounce message immediately. But on my
mail server the behavior is different: Exim just treats the error as temporary
and tries to deliver the message again at a later time...

My driver is extremely simple:
remote_smtp:
driver = smtp

I suspect the unwanted behavior is because the remote host is not particularly 
friendly to my Exim as the log shows:
------------------------------------------------------------------------------------
   SMTP<< 220 mail.example.com Microsoft ESMTP MAIL Service, Version: 
6.0.3790.1830 ready at  Sun, 12 Aug 2007 12:22:42 +0200
   SMTP>> EHLO myserver.example
   SMTP<< 250-mail.example.com Hello [10.10.1.1]
          250-TURN
          250-SIZE
          250-ETRN
          250-PIPELINING
          250-DSN
          250-ENHANCEDSTATUSCODES
          250-8bitmime
          250-BINARYMIME
          250-CHUNKING
          250-VRFY
          250-X-EXPS GSSAPI NTLM LOGIN
          250-X-EXPS=LOGIN
          250-AUTH GSSAPI NTLM LOGIN
          250-AUTH=LOGIN
          250-X-LINK2STATE
          250-XEXCH50
          250 OK
using PIPELINING
   SMTP>> MAIL FROM:<sender@???> SIZE=40008
   SMTP>> RCPT TO:<recipient@???>
   SMTP>> DATA
   SMTP<< 554 5.1.0 Sender Denied
ok=0 send_quit=1 send_rset=1 continue_more=0 yield=1 first_address is not NULL
   SMTP>> QUIT
send failed: Broken pipe
LOG: MAIN
   SMTP error from remote mailer after MAIL FROM:<sender@???> 
SIZE=40008: host mail.example.com [192.168.1.1]: 554 5.1.0 Sender Denied: 
Connection reset by peer
set_process_info: 26357 delivering 1IJtUV-0005LZ-TB: just tried mail.example.com 
[192.168.1.1] for recipient@???: result DEFER
------------------------------------------------------------------------------------


You can see that the remote host immediately closes the connection after sending
"554 5.1.0 Sender Denied". Does that explain why Exim treats this as a temporary
failure?

(Exim shows the correct behavior when talking to another Exim mail server which
does not close the connection immediately.)

Can enable some options in Exim to work around the problem?

fs