NAME
Sisimai - Mail Analyzing Interface for bounce mails.
SYNOPSIS
use Sisimai;
DESCRIPTION
Sisimai is the system formerly known as bounceHammer
4, is a Pelr module for analyzing bounce mails and generate structured data in a JSON format (YAML is also available if "YAML" module is installed on your system) from parsed bounce messages. Sisimai
is a coined word: Sisi (the number 4 is pronounced "Si" in Japanese) and MAI (acronym of "Mail Analyzing Interface").
BASIC USAGE
make('/path/to/mbox', delivered = 1)
>
make
method provides feature for getting parsed data from bounced email messages like following.
use Sisimai;
my $v = Sisimai->make('/path/to/mbox'); # or Path to Maildir
if( defined $v ) {
for my $e ( @$v ) {
print ref $e; # Sisimai::Data
print ref $e->recipient; # Sisimai::Address
print ref $e->timestamp; # Sisimai::Time
print $e->addresser->address; # shironeko@example.org # From
print $e->recipient->address; # kijitora@example.jp # To
print $e->recipient->host; # example.jp
print $e->deliverystatus; # 5.1.1
print $e->replycode; # 550
print $e->reason; # userunknown
my $h = $e->damn; # Convert to HASH reference
my $j = $e->dump('json'); # Convert to JSON string
my $y = $e->dump('yaml'); # Convert to YAML string
}
# Dump entire list as a JSON
use JSON '-convert_blessed_universally';
my $json = JSON->new->allow_blessed->convert_blessed;
printf "%s\n", $json->encode( $v );
}
If you want to get bounce records which reason is "delivered", set "delivered" option to make() method like the following:
my $v = Sisimai->make('/path/to/mbox', 'delivered' => 1);
dump('/path/to/mbox', delivered = 1)
>
dump
method provides feature to get parsed data from bounced email as JSON.
use Sisimai;
my $v = Sisimai->dump('/path/to/mbox'); # or Path to Maildir
print $v; # JSON string
engine()
engine
method provides table including parser engine list and its description.
use Sisimai;
my $v = Sisimai->engine();
for my $e ( keys %$v ) {
print $e; # Sisimai::MTA::Sendmail
print $v->{ $e }; # V8Sendmail: /usr/sbin/sendmail
}
SEE ALSO
- Sisimai::Mail - Mailbox or Maildir object
- Sisimai::Data - Parsed data object
- http://libsisimai.org/ - Sisimai — A successor to bounceHammer, Library to parse error mails
- https://tools.ietf.org/html/rfc3463 - RFC3463: Enhanced Mail System Status Codes
- https://tools.ietf.org/html/rfc3464 - RFC3464: An Extensible Message Format for Delivery Status Notifications
- https://tools.ietf.org/html/rfc5321 - RFC5321: Simple Mail Transfer Protocol
- https://tools.ietf.org/html/rfc5322 - RFC5322: Internet Message Format
REPOSITORY
https://github.com/sisimai/p5-Sisimai - Sisimai on GitHub
WEB SITE
http://libsisimai.org/ - A successor to bounceHammer, Library to parse error mails.
https://github.com/sisimai/rb-Sisimai - Ruby version of Sisimai
AUTHOR
azumakuniyuki
COPYRIGHT
Copyright (C) 2014-2016 azumakuniyuki, All rights reserved.
LICENSE
This software is distributed under The BSD 2-Clause License.