requester - Request additional information from sites with bad reporting practices


    requester [-h] [-v] [-r relay] [-S separator] -s report-email -t template


During your daily operation of the Mail::Abuse system, you will find sites that have very poor reporting practices and tend to not send relevant information along with their complaints.

One notable example is Hotmail, which sends a generic note that does not even include a timestamp or a specific reason for their complaint. This script, when used as part of an adequate pipeline, can automate the process of answering to known 'offenders', requesting additional information.

The pipeline I use looks like:

        find empty -mtime -1 -type f \
          | xargs acat -R___END_OF_REPORT___ \
          | requester -t template -r relay -s abuse@mydomain 

The following options are recognized:


Outputs this documentation.


Be verbose about progress.

-r relay

The relay server to use in order to send the email message with the complaint and the evidence. Defaults to 'mail'.

-s report-email

Specify the RFC-822 address that shoud be used as the sender of the send message. The message will be directed to an address that depends on the type of report that is answered to.

-S separator

A string that is used to separate two different reports in the standard input. Defaults to ___END_OF_REPORT___.

-t template

The template used to generate the email response. Within the template, the following substitutions can be provided:


The IP address to which the original reporte referred, or [unknown].


The subject on the original complaint message or [unknown].


The address supplied as the sender in the command line.


The contents of the Date: header on the complaint report, or [unknown].


The sender of the complaint report, as taken from the From:, Reply-To: or Return-Path: headers, respectively. Otherwise [unknown].


The text of the original report.

The complaint should be fed through STDIN, as the output of acat would.


$Log: requester,v $ Revision 1.4 2004/02/15 20:38:19 lem Remove trailing whitespace from the report. Remove delimiter from end of report, if present. Do not process empty inputs.

Revision 1.3 2004/02/15 20:22:07 lem Fixed typo in documentation

Revision 1.2 2004/02/15 19:55:30 lem Fixed unmatched =back

Revision 1.1 2004/02/15 19:36:45 lem Added bin/requester to the distribution. Currently supports reports from MSN Hotmail, which do not include evidence but are too important to simply miss


This code and all accompanying software comes with NO WARRANTY. You use it at your own risk.

This code and all accompanying software can be used freely under the same terms as Perl itself.


Luis E. Muñoz <>


perl(1), acat(1), LWP::RobotUA(3)

1 POD Error

The following errors were encountered while parsing the POD:

Around line 260:

Non-ASCII character seen before =encoding in 'Muñoz'. Assuming ISO8859-1