Help-Site Computer Manuals
Software
Hardware
Programming
Networking
  Algorithms & Data Structures   Programming Languages   Revision Control
  Protocols
  Cameras   Computers   Displays   Keyboards & Mice   Motherboards   Networking   Printers & Scanners   Storage
  Windows   Linux & Unix   Mac

Email::ARF::Report
interpret Abuse Reporting Format messages

Email::ARF::Report - interpret Abuse Reporting Format messages


NAME

Email::ARF::Report - interpret Abuse Reporting Format (ARF) messages


VERSION

version 0.003


  $Id: /my/pep/Email-ARF/trunk/lib/Email/ARF/Report.pm 31179 2007-03-23T02:07:17.416360Z rjbs  $

Achtung! Yes, version 0.003. This is a prototype. This module will definitely continue to exist, but maybe the interface will change radically once more people have seen it and tried to use it. Don't rely on its interface to keep you employed, just yet.


SYNOPSIS


  my $report = Email::ARF::Report->new($text);

  if ($report->field('source-ip') eq $our_ip) {

    my $sender = $report->original_email->header('from');

    UserManagement->disable_account($sender);

  }


DESCRIPTION

ARF, the Abuse Feedback Report Format, is used to report email abuse incidents to an email provider. It includes mechanisms for providing machine-readable details about the incident, a human-readable description, and a copy of the offending message.


METHODS

new


  my $report = Email::ARF::Report->new($message);

Given either an Email::MIME object or a string containing the text of an email message, this method returns a new Email::ARF::Report object. If the given message source is not a valid report in ARF format, an exception is raised.

create


  my $mail = Email::ARF::Report->create(

    original_email => $email,

    description    => $description,

    fields         => \%fields,      # or \@fields

  );

This method creates a new ARF report from scratch.

The original_email parameter may be given as a string, a string reference, or as an object that provides an as_string method.

Default values are provided for the following fields:


  version       - 0.1

  user-agent    - Email::ARF::Report/$VERSION

  feedback-type - other

as_email

This method returns an Email::MIME object representing the report.

Note! This method returns a new Email::MIME object each time it is called. If you just want to get a string representation of the report, call /as_string. If you call as_email and make changes to the Email::MIME object, the Email::ARF::Report will not be affected.

as_string

This method returns a string representation of the report.

original_email

This method returns an Email::Simple object containing the original message to which the report refers. Bear in mind that this message may have been edited by the reporter to remove identifying information.

description

This method returns the human-readable description of the report, taken from the body of the human-readable (first) subpart of the report.

field


  my $value  = $report->field($field_name);

  my @values = $report->field($field_name);

This method returns the value for the given field from the second, machine-readable part of the report. In scalar context, it returns the first value for the field.

feedback_type

user_agent

arf_version

These methods are shorthand for retrieving the fields of the same name, except for arf_version, which returns the Version header. It has been renamed to avoid confusion with the universal VERSION method.


SEE ALSO

http://www.mipassoc.org/arf/

http://www.shaftek.org/publications/drafts/abuse-report/draft-shafranovich-feedback-report-01.txt


PERL EMAIL PROJECT

This module is maintained by the Perl Email Project

http://emailproject.perl.org/wiki/Email::ARF::Report


AUTHORS

Ricardo SIGNES <rjbs@cpan.org>


COPYRIGHT AND LICENSE

Copyright 2007 by Ricardo SIGNES

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Programminig
Wy
Wy
yW
Wy
Programming
Wy
Wy
Wy
Wy