[![Build Status](https://travis-ci.org/azumakuniyuki/p5-Sisimai.svg?branch=master)](https://travis-ci.org/azumakuniyuki/p5-Sisimai) 
[![Coverage Status](https://img.shields.io/coveralls/azumakuniyuki/p5-Sisimai.svg)](https://coveralls.io/r/azumakuniyuki/p5-Sisimai)

         ____  _     _                 _ 
        / ___|(_)___(_)_ __ ___   __ _(_)
        \___ \| / __| | '_ ` _ \ / _` | |
         ___) | \__ \ | | | | | | (_| | |
        |____/|_|___/_|_| |_| |_|\__,_|_|
                                 

What is Sisimai ? | �瑯�瑯�𠺶��?
=============================

Sisimai is a core module of bounceHammer version 4, is a Perl module for 
analyzing email bounce. "Sisimai" is a coined word: Sisi (the number 4 is 
pronounced "Si" in Japanese) and MAI (acronym of "Mail Analyzing Interface").

"�瑯�瑯�𠺶��"�畜ounceHammer version 4�桐葉�瓲�具�芥�卝�具�押�潦�~�潦�怨圾��僐�U�詻�乓�潦�怒�扼�踺��
Version 4�芥�柴��"��"�卝�匧�卝�整�𨳍�𠺶��(MAI: Mail Analyzing Interface)�鍦鉄����滚�溻�怒�芥�𨳍�整�𨰜�麄��

System requirements | ��蓥�𦦵兛憓�
------------------------------

* [Perl 5.10.1 or later](http://www.perl.org/)

Dependencies | 靘嘥�塩�U�詻�乓�潦��
-----------------------------
Sisimai relies on:

* [__Class::Accessor::Lite__](https://metacpan.org/pod/Class::Accessor::Lite)
* [__JSON__](https://metacpan.org/pod/JSON)

Sisimai�臭�𡃏�塩�柴�U�詻�乓�潦�怒�思�嘥�塩�𨰜�艾���整�踺��

Install | �扎�喋�嫘���潦��
----------------------

    % sudo cpanm Sisimai
    --> Working on Sisimai
    Fetching http://www.cpan.org/authors/id/A/AK/AKXLIX/Sisimai-4.1.20.tar.gz ... OK
    ...
    1 distribution installed
    % perldoc -l Sisimai
    /usr/local/lib/perl5/site_perl/5.20.0/Sisimai.pm

OR
    
    % cd /usr/local/src
    % git clone https://github.com/azumakuniyuki/p5-Sisimai.git
    % cd ./Sisimai
    % sudo cpanm .
    --> Working on .
    Configuring Sisimai-4.1.20 ... OK
    1 distribution installed


Basic usage | �抅�𧋦���芯蝙���䲮
----------------------------
make() method provides feature for getting parsed data from bounced email 
messages like following.

```perl
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 $e->recipient->address;   # kijitora@example.jp
        print $e->reason;               # userunknown

        my $h = $e->damn();             # Convert to HASH reference
        my $j = $e->dump('json');       # Convert to JSON string
        print $e->dump('json');         # JSON formatted bounce data
    }
}
```

銝𡃏�塩�柴�����俟isimai�峻ake()�~�賬���剹�𠍿box�𨳒aildir�娑ATH�鍦�閙㺭�怒�𨰜�血�蠘�䎚�踺�卝��
閫��鞟�鞉�栶�屸�滚�𨰜�芥�𨰻�~�研�喋�嫘�扯�𢛵���艾�溻�整�踺��


Differences between ver.2 and ver.4 | �鰵�唂�桅�𨰻��
------------------------------------------------
The followings are the differences between version 2 (bounceHammer 2.7.13) and
version 4 (Sisimai).

| Features                                       | ver 2.7.13    | Sisimai      |
|------------------------------------------------|---------------|--------------|
| Command line tools                             | OK            | N/A          |
| Modules for Commercial MTAs                    | N/A(1)        | Included     |
| WebUI/API                                      | OK            | N/A          |
| Database schema for storing parsed bounce data | Available     | N/A(2)       |
| Analysis accuracy ratio(3)                     | 0.78          | 1.00         |
| Parse 2 or more bounces in a single email      | Only 1st rcpt | ALL          |
| Parse FeedBack Loop Message/ARF format mail    | N/A           | OK           |
| Classification based on recipient domain       | Available     | N/A          |
| Output format of parsed data                   | YAML,JSON,CSV | JSON only(4) |
| The speed of parsing email(1048 files)         | 5.00s         | 3.73s        |
| Easy to install                                | No            | Yes          |
| Install using cpan or cpanm command            | N/A           | OK           |
| Dependencies                                   | 24 modules    | 2 modules    |
| License                                        | GPLv2 or Perl | 2 clause BSD |
| Support Contract provided by Developer         | Available     | Coming soon  |

1. bounceHammer-nails
2. Implement yourself with using DBI or any O/R Mapper you like
3. See ./ANALYSIS-ACCURACY
4. YAML format is available if "YAML" module has been installed

�祇�衤葉�宴ouncehammer version 2.7.13�肖ersion 4(�瑯�瑯�𠺶��)�臭�贝�塩�柴�����芷�𨰻���䎚���𨳍�整�踺��

| 璈蠘��                                           | ver 2.7.13    | Sisimai      |
|------------------------------------------------|---------------|--------------|
| �喋�𠺶�喋�剹�押�扎�喋���潦��                           | ����          | �~��         |
| ���鍂MTA撖曉�𡏭圾��僐�U�詻�乓�潦��                      | �~��(���鍂���,1)| ����(璅蹱��)   |
| WebUI�杗PI                                     | ����          | �~��         |
| 閫��鞉���僐�艾�喋�嫘���潦�踴�雴�嘥�塩�踺�𠵿B�嫘�准�潦��       | ����          | �~��(2)      |
| 閫��鞟移摨艾�桀𠧧���(3)                              | 0.78          | 1.00         |
| 2隞嗡誑銝𨳍�柴�僐�艾�喋�嫘�䎚���卝�~�潦�怒�株圾���            | 1隞嗥𤌍�𨬭��     | �其辣撖曉��     |
| FeedBack Loop/ARF敶W�譌�柴�~�潦�怨圾���              | ��𧼮紋敹�        | 撖曉�𨀣��       |
| 摰𥕦���剹�~�扎�喋�怒���见�憿鮋��𤌍                     | ����          | �~��         |
| 閫��鞟�鞉�栶�桀枂��𥕦耦撘�                             | YAML,JSON,CSV | JSON�柴��(4)  |
| �~�潦�怨圾��僐�桅�笔漲(1048��)                       | 5.00蝘�        | 3.73蝘�       |
| �扎�喋�嫘���潦�思�𨀣平�𣬚陛��塩�卝�押����                 | �����𢒰��      | 蝪∪�塩�扳末     |
| cpan�整�麄�畚panm�喋�𠺶�喋�剹�扼�柴�扎�喋�嫘���潦��        | ��𧼮紋敹�        | 撖曉�𨀣��       |
| 靘嘥�塩�U�詻�乓�潦�急㺭                               | 24�U�詻�乓�潦��  | 2�U�詻�乓�潦��  |
| �押�扎�颯�喋��                                     | GPLv2�閪erl   | 鈭峕辺��BSD    |
| ��讠惣隡𡁶冗�怒���卝�萸�腈�潦���𤑳�                     | ��𣂷�𥕢葉        | 皞硋�嗘葉       |

1. bounceHammer-nails
2. DBI�整�麄�臬末�溻�板RM�雴蝙���西䌊�眏�怠�蠘��𨰜�艾�譌�𨬭�𨰻��
3. ./ANALYSIS-ACCURACY �鍦���
4. "YAML"�U�詻�乓�潦�怒���乓���艾���䎚�訑AML�扼�桀枂��䜘���虾��

Commercial MTA Modules | ���鍂MTA�U�詻�乓�潦��
------------------------------------------
The following commercial MTA modules are included in Sisimai by default.

| Sisimai::                 | Description                                       |
|---------------------------|---------------------------------------------------|
| MTA::Activehunter         | TransWARE Active!hunter                           |
| MTA::Domino               | IBM Domino Server                                 |
| MTA::Exchange             | Microsoft Exchange Server                         |
| MTA::IMailServer          | IPSWITCH IMail Server                             |
| MTA::InterScanMSS         | Trend Micro InterScan Messaging Security Suite    |
| MTA::MXLogic              | McAfee SaaS                                       |
| MTA::MailFoundry          | MailFoundry                                       |
| MTA::MailMarshalSMTP      | Trustwave Secure Email Gateway                    |
| MTA::McAfee               | McAfee Email Appliance                            |
| MTA::MessagingServer      | Oracle Communications Messaging Server            |
| MTA::Notes                | Lotus Notes                                       |
| MTA::SurfControl          | WebSense SurfControl                              |
| MTA::mFILTER              | Digital Arts m-FILTER                             |
| MSP::US::AmazonSES        | AmazonSES: http://aws.amazon.com/ses/             |
| MSP::US::SendGrid         | SendGrid: http://sendgrid.com/                    |

銝𡃏�塩�桀��鍂MTA�U�詻�乓�潦�怒�特isimai�急���腈�卝�匧鉄�整�䎚�艾���整�踺��


REPOSITORY | �芥�腈�詻����
-----------------------
[github.com/azumakuniyuki/p5-Sisimai](https://github.com/azumakuniyuki/p5-Sisimai)

WEB SITE | �萸�扎��
-----------------
[bounceHammer | an open source software for handling email bounces](http://bouncehammer.jp/)

AUTHOR | 雿𡏭��
-------------
[@azumakuniyuki](https://twitter.com/azumakuniyuki)

COPYRIGHT | ��𦯀�𨀣貝
------------------
Copyright (C) 2014-2015 azumakuniyuki <perl.org@azumakuniyuki.org>,
All Rights Reserved.

LICENSE | �押�扎�颯�喋��
--------------------
This software is distributed under The BSD 2-Clause License.