[BlueOnyx:16496] BX5107 vacation.pl problem - sends response to incorrect from address

David Thacker David at ThackerNet.com
Wed Nov 19 23:57:11 -05 2014


Greetings,

 

A hosting customer just alerted me to a problem with the vacation email
responder on my BX5107 server. The problem is that the responses are being
sent to an invalid address for the original email sender.

 

In a nutshell, the problem seems to be that the vacation.pl script is
picking out an address from the Return-Path: header line instead of using
the From: header line that contains the actual sender address. 

 

Incoming email to most domains on my server is filtered through the
PostLayer hosted email filtering service, which I've been using for a few
years with good results. PostLayer's system encodes some information into
the Return-Path line that looks like an email address, but isn't. Here's an
example:

 

Return-Path: <SRS0+2f38cd931909c91e=AK=telus.net=joeblow at mx25.net>

 

The From: header on that email includes the real email address:

 

From: Joe Blow <joeblow at telus.net>

 

The vacation.pl script sees the "whatever @ mx25.net" chunk in the
Return-Path line, and erroneously sends the vacation message to that invalid
address.

 

I looked at /usr/local/sbin/vacation.pl and thought I could just comment out
the lines that deal with Return-Path, like this:

 

    #if    (/^From:\s*(.+)/)        { $from = $1;       }

    if    (/^From\s+(\S+)/)        { $from = $1;       }

    elsif (/^Reply-To:\s*(.+)/)    { $replyto = $1;    }

    elsif (/^Sender:\s*(.+)/)       { $sender = $1;     }

##    elsif (/^Return-path:\s*(.+)/)  { $returnpath = $1; }

    elsif (/^Precedence:\s*(.+)/)   { $precedence = $1; }

    elsif (/^\tfor\s+(\S+)/)        { $for = $1;        }

    #elsif (/^$crlf/)                { goto breakloop    } 

    elsif (/^$crlf/)                { last;             }

 

and

 

# Pass variables to crafted (auto-)reply

if    ($replyto)     { $sendto = $replyto;     }

elsif ($from)        { $sendto = $from;        }

elsif ($sender)      { $sendto = $sender;      }

##elsif ($returnpath)  { $sendto = $returnpath;  }

else                 { exit;                   }

 

 

but that didn't seem to fix it. The autoresponses still went to the invalid
@ mx25.net pseudo-address taken from the Return-Path: line.

 

 

Does anyone have any ideas on how to solve this?

 

Regards,

 

dAvid tHacker

David at ThackerNet.com

 

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.blueonyx.it/pipermail/blueonyx/attachments/20141119/f7bc72e4/attachment.html>


More information about the Blueonyx mailing list