Revision history for Sisimai/formerly known as bounceHammer version 4 4.1.27 Fri, 17 Jul 2015 11:45:05 +0900 (JST) - New method implemented: Sisimai->dump('/path/to/mbox') return parsed data as JSON string. - Updated error message patterns: Sisimai::Reason::NoRelaying, TooManyConn, and Blocked. - Fixed code in Sisimai::Reason::MesgTooBig. Error reason of bounce message that the value of "Status" field is 5.2.3 will be set as "exceedlimit". - Fixed code for getting the value of Message-Id header in the original message at Sisimai::Data. - Sisimai reports the bounce reason as "onhold" when Sisimail::Reason->get method did not decide the reason and the value of "diagnosticcode" is not empty. - Issue #74 is that reported at CPAN Testers Report might be fixed. - Issue #75, Improved code for parsing 2-digit year value in a Date: header at Sisimai::DateTime. - Test codes for Sisimai::MTA, Sisimai::MSP, Sisimai::ARF, Sisimai::RFC3464 have been integrated and improved. 4.1.26 Sat, 4 Jul 2015 11:34:44 +0900 (JST) - Module name changed from Sisimai::Reason::RelayingDenied to "NoRelaying". - Registered new error reason "TooManyConn". This reason is bounced due to that too many connections or exceeded connection rate limit. - Included many error messages listed in SendGrid "Deliverability Center": "https://sendgrid.com/deliverabilitycenter/" as a regular expression at Sisimai::Reason::*. Thanks to Bogdan B. and SendGrid. - Experimental implementation: Sisimai::Reason->match() is for detecting a bounce reason from given text as an error message. - Experimental impelmentation about issue #61: New MTA module implemented as "Sisimai::MTA::ApacheJames". The module is for parsing bounce emails which are generated by Apache James/Java Apache Mail Enterprise Server. Thanks to John Aldrich Quan. - Issue #72, Support SMTP reply code in Sisimai::Data object. - Fixed code: Add 'SystemFull' reason into Sisimai::Reason->anotherone(). - Improved regular expression in Sisimai::MSP::US::Google. 4.1.25 Mon, 22 Jun 2015 11:45:29 +0900 (JST) - Reason name has been changed from "NoSpam" to "SpamDetected". - Package name has been changed from Sisimai::Time to Sisimai::DateTime. - Implemnet Sisimai::Time again as a child class of Time::Piece. - The class of "timestamp" is now Sisimai::Time in Sisimai::Data object. - Implement Sisimai::Reason::HasMoved. - 2 emails bounced due to "expired" reason have been added as a sample for issue #50. - Fix bug in Sisimai::MTA::MailMarshalSMTP for a bounce mail which have no boundary strings. - Fix bug in Sisimai::MTA::Exim for setting an error reason decided by SMTP MAIL command. - Improved regular expression in Sisimai::RFC3464. - Update Sisimai::MDA, add an error message pattern defined in dovecot 1.2, dovecot/src/plugins/quota/quota.c. - Update message patterns at SpamDetected, SystemError, Blocked, Filtered, RelayingDenied, NetworkError, MesgTooBig, MailboxFull, SecurityError, UserUnknown and Suspend. - Fix code for detecting MIME encoded string in Sisimai::MIME. - Implement TO_JSON method in Sisimai::Address for JSON module. - Add test code for sample emails in CRLF. - Add sample emails which is an IDN email. - Add sample emails which could not be parsed yet into eg/cannot-parse-yet/ directory and implement test code. - Add sample emails which reason is "undefined" into eg/reason-is-undefined directory and implement test code. 4.1.24 Mon, 11 Jun 2015 22:20:59 +0900 (JST) - Improved fallback code in Sisimai::RFC3464. - Add message patterns at NoSpam and HostUnknown in Sisimai/Reason. 4.1.23 Thu, 11 Jun 2015 13:20:59 +0900 (JST) - Sisimai works on Perl 5.22.0. - New MTA module Sisimai::MTA::X4 for qmail clone MTAs. - Performance tuning, Sisimai is now 1.39 times faster than before. - Improved code in Sisimai/Message.pm: 1.62 times faster than before. - Bug fix in Sisimai::MSP::JP::EZweb and Sisimai::MSP::JP::KDDI. - Support "2015-04-29 01:23:45" date format in Sisimai::Time. - Support the value of Diagnostic-Code without the value of diagnostic-type field in Sisimai::RFC3464. - Emails in https://github.com/sendgrid/go-gmime/tree/master/gmime/fixtures and some emails have been added as a sample in eg/ directory. - Add message patterns at NoSpam, MailboxFull, RelayingDenied, UserUnknown, Blocked, Filtered, SecurityError, Expired, HostUnknown, and NetworkError in Sisimai/Reason. - Fix bug in Sisimai::Data for calling Sisimai::Time->parse() method. - Sisimai::MTA::IMailServer and Sisimai::MTA::InterScanMSS updated. - Implement fallback code in Sisimai::RFC3464: parse entire message body to get a recipient address and error messages. The value of the "smtpagent" parsed by this code is "RFC3464::Fallback". 4.1.22 Thu, 28 May 2015 14:20:59 +0900 (JST) - Merged pull request #59 (Support for Microsoft custom ARF format) at https://github.com/azumakuniyuki/p5-Sisimai/pull/59 . Thanks to jleroy. - Add Time::Piece and Module::Load to ./cpanfile. Thanks to kkdYodoKazahaya at issue #60. - Update Sisimai::ARF for parsing Amazon SES Complaints bounces. 4.1.21 Tue, 21 Apr 2015 14:20:59 +0900 (JST) - Update regular expressions of error message pattern at Sisimai::Reason:: NoSpam, Suspend, Blocked, UserUnknown, Expired, NetworkError, MailboxFull and MesgTooBig. - Fix bug for setting the value of SMTP command at Sisimai::Data. - Update regular expression of "expired" in Sisimai::MTA::Exim. - Add three sample emails for "make test" in eg/ directory. 4.1.20 Thu, 9 Apr 2015 14:20:59 +0900 (JST) - Update regular expressions of error message pattern at SystemError.pm, MesgTooBig.pm and NoSpam.pm in Sisimai/Reason. - Add two sample emails for "make test" in eg/ directory. 4.1.19 Mon, 6 Apr 2015 14:20:59 +0900 (JST) - Update regular expressions of error message pattern at Rejected.pm, Mailboxfull.pm, MesgTooBig.pm, and UserUnknown.pm in Sisimai/Reason. - New error reason "nospam" implemented. - Some message patterns have moved from Sisimai::Reason::SecurityError to Sisimai::Reason::NoSpam module. 4.1.18 Fri, 27 Mar 2015 12:59:07 +0900 (JST) - Repository name on github has been changed to p5-Sisimai. - Fixed code around regular expressions of "mailboxfull", "expired" in MTA modules: Sisimai::MTA::qmail and Sisimai::MTA::Exim. Thanks to m-walk at issue #57. - Update regular expressions of error message pattern at SecurityError.pm and Blocked.pm in Sisimai/Reason. 4.1.17 Mon, 2 Mar 2015 16:01:20 +0900 (JST) - Improved regular expressions of networkerror, expired and related code in Sisimai::MTA::qmail. Thanks to m-walk at issue #56. 4.1.16 Wed, 18 Feb 2015 16:01:20 +0900 (JST) - Add bounce emails as a sample from Postfix 3.0.0. - Improved code for reading mail data from STDIN at Sisimai::Mail. - Try to load YAML::Syck module instead of YAML module when string "yaml" is specified in the argument of Sisimai::Data->dump() method. 4.1.15 Wed, 11 Feb 2015 13:59:59 +0900 (JST) - Improved code for detecting abuse message "opt-out" in Sisimai::ARF. - Minor improvements in Sisimai::MTA::Postfix. 4.1.14 Fri, 6 Feb 2015 13:29:59 +0900 (JST) - Update Sisimai::MSP::US::Outlook for delayed message. - Changed accessor name "data" to "path" in Sisimai::Mail module. - Implement new module: Sisimai::Mail::STDIN for reading email data from standard-in. - Changed accessor names in Sisimai::Mail::Mbox and Sisimai::Mail::Maildir. "name" to "file", "files" to "inodes". - Accessor "path" always return the path to a mailbox or path to each mail file in Maildir/ at Sisimai::Mail::Mbox and Sisimai::Mail::Maildir. - Implement new accessor "dir", it returns the path to directory of given argument in Sisimai::Mail::Mbox and Sisimai::Mail::Maildir. 4.1.13 Tue, 27 Jan 2015 15:00:55 +0900 (JST) - Fixed bug in test code for Sisimai::DATA::YAML. Thanks to CPAN Testers Reports. - Implement new method Sisimai::Reason->index(), returns the list of bounce reasons. 4.1.12 Sat, 24 Jan 2015 15:00:59 +0900 (JST) - Update sample code in POD at Sisimai::RFC5322 and test codes (RT#101436, Issue #41, See https://rt.cpan.org/Ticket/Display.html?id=101436). Thanks to Mark Stosberg. - Changed accessor name: "data" => "path" in Sisimai::Mail. - Space character will be inserted after ":" in Sisimai::Data::JSON. - Improved regular expression for getting the value of email header at each MTA module. - Message patterns related to DNS or network error have been moved to new module: Sisimai::Reason::NetworkError. - New error reason "networkerror": the value of reason for bounce messages returned due to network related errors will be set as the reason. - Sisimai does not rely on Try::Tiny module from this version. 4.1.11 Thu, 15 Jan 2015 15:01:59 +0900 (JST) - Improved code in Sisimai/Mail/Mbox.pm: using substr() function instead of a regular expression is 1.46 times faster than before. - Code improvement in Sisimai/Reason.pm: using grep {} block instead of a regular expression is 133% faster than before. - Revert commit 0c7782cecafdc923d3c82b81a201a787611654ea for Sisimai::Time. - Improvement of pattern match in Sisimai/Message.pm is 2.27 times faster. - Improvement of regular expressions in each MTA module is 115% faster than before. 4.1.10 Mon, 12 Jan 2015 17:59:35 +0900 (JST) - Implement Sisimai::MSP::UK::MessageLabs for email bounces from Symantec. cloud: formerly MessageLabs. - Added 2 sample emails: arf05.eml, arf-06.eml and improved Sisimai::ARF from pull request #37, Thanks to @jcbf. - Merged pull request #38, Updated Sisimai::US::Facebook and DMARC forensic related codes, and error message patterns in Sisimai::Reason::* modules. Thanks to @jcbf. - Implement Sisimai::MSP::US::Bigfoot for email bounces from bigfoot.com. - Merged pull request #39, Updated Sisimai::RFC3464 and message patterns in Sisimai::Reason::SecurityError and Suspended. Thanks to @jcbf. - Regular expression improvements in each MTA module(Issue #40) is between 122% and 800% faster than Sisimai 4.1.9. 4.1.9 Wed, 31 Dec 2014 18:59:22 +0900 (JST) - Implement Sisimai::MTA::X3 for email bounces from Unknown MTA(3). - Improved code for getting error message in a bounce mail from MXLogic. - Added 4 sample emails from pull request #32, Thanks to @jcbf. - Implement Sisimai::MSP::DE::EinsUndEins for email bounces from 1&1. - Added 4 sample emails and updated error message patterns in some files in Sisimai/Reason directory from pull request #34, Thanks to @jcbf. - Implement Sisimai::MTA::MailMarshalSMTP for email bounces from Trustwave Secure Email Gateway: formerly MailMarshal SMTP. - Improved code for getting FBL related values in Sisimai::ARF. 4.1.8 Fri, 19 Dec 2014 17:22:59 +0900 (JST) - Support new data format: YAML(optional, "YAML" module required). 4.1.7 Thu, 18 Dec 2014 23:59:59 +0900 (JST) - Tiny code improvement of Sismai::MSP::RU::Yandex. - Implement Sisimai::MSP::US::Zoho for email bounces from Zoho Mail. - Improved code for detecting email bounce from MXLogic. - Implement Sisimai::MTA::X2 for email bounces from Unknown MTA(2). - Add some message patterns into Sisimai::Reason::Expired. - Improved code for getting error message in a bounce mail from Zoho Mail. 4.1.6 Sun, 7 Dec 2014 22:44:36 +0900 (JST) - Improved code for parsing email bounce from @nokiamail.com. - Implement Sisimai::MSP::RU::Yandex for email bounces from Yandex.Mail. 4.1.5 Fri, 5 Dec 2014 18:20:22 +0900 (JST) - Fix newline of some sample emalis in eg/ directory. 4.1.4 Thu, 4 Dec 2014 20:40:22 +0900 (JST) - Implement Sisimai::MSP::RU::MailRu for email bounces from @mail.ru. - Implement Sisimai::MSP::DE::GMX for email bounces from GMX. - Improved code for checking bounce mail in Sisimai::MTA::OpenSMTPD. 4.1.3 Sun, 23 Nov 2014 21:22:55 +0900 (JST) - Improved code for detecting error reason in Sisimai::Reason. - Implement Sisimai::MTA::MessagingServer for email bounces from Oracle Communications Messaging Server and Sun Java System Messaging Server. - Implement Sisimai::MTA::X1 for email bounces from Unknown MTA(1). - Implement Sisimai::MSP::US::Yahoo for email bounces from Yahoo! MAIL. - Implement Sisimai::MSP::US::Aol for email bounces from Aol Mail. - Implement Sisimai::MSP::US::Outlook for email bounces from Outlook.com. 4.1.2 Sat, 22 Nov 2014 22:22:22 +0900 (JST) - Require Time::Local 1.19 or later for fixing issue #21, #23, and #24. - Key name of time stamp has been changed from "date" to "timestamp". - Data sources and hash algorithm of token string in parsed data have been changed. - Implement Sisimai::MTA::InterScanMSS for email bounces from Trend Micro InterScan Messaging Security Suite. - Implement Sisimai::MTA::SurfControl for email bounces from WebSense Surf- Control. - Implement Sisimai::MTA::V5sendmail for email bounces from old version of Sendmail(v5) and other MTAs based on V5 Sendmail. - Fixed bounce reason names in Sisimai::RFC3463. 4.1.1 Mon, 10 Nov 2014 15:59:03 +0900 (JST) - Fix tiny bug in Sisimai::MTA::Exim. - Add many sample emails into eg/ directory. - Improved code for detecting connection errors at Sendmail and Courier. - Sisimai::RFC3464 and Sisimai::MTA::Exchange imporved. - Implement Sisimai::MTA::Notes for email bounces from Lotus Notes. - Implement Sisimai::MTA::McAfee and Sisimai::MTA::MXLogic for email bounce from McAfee Products. - Implement Sisimai::MTA::MailFoundry for email bounces from MailFoundry. - Implement Sisimai::MTA::IMailServer for email bounces from IPSWITCHI IMail Server. - Improved code for deciding error reason at Sendmail and qmail. - Implement Sisimai::MTA::mFILTER for email bounces from DigitalArts m-FILTER. - Implement Sisimai::MTA::Activehunter for email bounces from TransWARE Active!hunter. 4.1.0 Sat, 4 Oct 2014 15:09:09 +0900 (JST) - Sisimai::Group: child classes, "provider", and "category" in the parsed data have been removed permanently. - Fix the newline in sample email files for `make test`. 4.0.2 Wed, 10 Sep 2014 22:45:43 +0900 (JST) - Implement Sisimai::MSP::US::AmazonSES, Sisimai::MSP::US::SendGrid modules for parsing bounce mail from email cloud services. - Implement Sisimai::MTA::Domino module for email bounces from IBM Domino. - Large scale code refactoring at Sisimai::RFC3464. 4.0.1 Sun, 17 Aug 2014 23:00:00 +0900 (JST) - Fixed bug for reading each email file in the Maildir given as an argument of Sisimai::Mail::Maildir->read method. - Refactoring around codes to return the parsed data. - Implement "make" method to get bounce data at Sisimai.pm. 4.0.0 Sat, 16 Aug 2014 20:00:00 +0900 (JST) - The first release of Sisimai.