Re: [exim] Interaction of errors_to and null sender

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: exim-users
CC: Tim Jackson
Subject: Re: [exim] Interaction of errors_to and null sender
On Wed, 17 Nov 2004, I wrote:

> On Wed, 17 Nov 2004, Tim Jackson wrote:
>
> > All good so far. However, if the message to be delivered has a null
> > sender, it seems that the errors_to option is ignored.
>
> > a) Intended behaviour?
>
> No. I will investigate in due course and see if I can reproduce the
> problem, and when I can, I'll fix it. If I can't, I may ask you for more
> info.


Small patch below.

Regards,
Philip

-- 
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.



*** exim-4.43/src/deliver.c Tue Oct  5 09:32:08 2004
--- deliver.c    Thu Nov 18 10:12:40 2004
***************
*** 1044,1055 ****
      setflag(addr, af_ignore_error);


    /* Freeze the message if requested, or if this is a bounce message (or other
!   message with null sender). However, don't freeze if errors are being ignored.
!   The actual code to ignore occurs later, instead of sending a message. Logging
!   of freezing occurs later, just before writing the -H file. */


    if (!testflag(addr, af_ignore_error) &&
!       (addr->special_action == SPECIAL_FREEZE || sender_address[0] == 0))
      {
      frozen_info = (addr->special_action == SPECIAL_FREEZE)? US"" :
        (sender_local && !local_error_message)?
--- 1046,1060 ----
      setflag(addr, af_ignore_error);


    /* Freeze the message if requested, or if this is a bounce message (or other
!   message with null sender) and this address does not have its own errors
!   address. However, don't freeze if errors are being ignored. The actual code
!   to ignore occurs later, instead of sending a message. Logging of freezing
!   occurs later, just before writing the -H file. */


    if (!testflag(addr, af_ignore_error) &&
!       (addr->special_action == SPECIAL_FREEZE ||
!         (sender_address[0] == 0 && addr->p.errors_address == NULL)
!       ))
      {
      frozen_info = (addr->special_action == SPECIAL_FREEZE)? US"" :
        (sender_local && !local_error_message)?