smtp temporary failures (4xx) causing loop

Top Page
Delete this message
Reply to this message
Author: Ian Pallfreeman
Date:  
To: exim-users
Subject: smtp temporary failures (4xx) causing loop
Several of the machines I'm sending to seem to have run out of disk space,
and are giving me a 452 after MAIL FROM. This puts exim 1.61 into a loop
(in the sense that it's retrying immediately, continually).

I've patched src/transports/smtp.c:

***************
*** 1010,1015 ****
--- 1010,1016 ----
      if (code == '4')     
        {
        log_write(0, LOG_MAIN, "%s", message);
        fprintf(message_log, "%s %s\n", tod_stamp(tod_log), message);
+       yield = DEFER;
        }
      set_errno(addrlist, save_errno, message, (code == '5')? FAIL : DEFER);
      }


However, there's a strong argument (in the comments just above) as to why I
shouldn't do this. What's the correct way? I suspect there isn't one.

Ian.