P5 Sisimai Versions Save

Mail Analyzing Interface for email bounce: A Perl module to parse RFC5322 bounce mails and generating structured data as JSON from parsed results. Formerly known as bounceHammer 4: an error mail analyzer.

v5.0.2

2 months ago
  • release: "Wed, 13 Mar 2024 13:00:00 +0900 (JST)"
  • version: "5.0.2"
  • changes:
    • #507 Migrate the CI from TravisCI to GitHub Actions
    • Fixed an issue where constant initialization would fail on Perl 5.26
    • 5.7.23 returned from Office365 is an error related to SPF vilation (authfailure)
    • #508 Fixed an issue that Sisimai could not get the value of alias address correctly when an email forwarded and bounced
    • Sisimai::RFC5322->received now returns a list including all the elements except date time and (comments) found in the Received header
    • Update the error message patterns in Sisimai::Rhost::Mimecast
    • Update the error message patterns in the followings:
      • AuthFailure
      • Blocked
      • Expired
      • MailboxFull
      • SecurityError
      • SpamDetected
      • Suspend

v5.0.1

2 months ago
  • release: "Sun, 3 Mar 2024 17:17:17 +0900 (JST)"
  • version: "5.0.1"
  • changes:
    • #464 Import the commit 78465c79970474602be796232bea345909078b9a at t/023-mail-stdin.t
    • #501 Implement three SMTP status codes as follows: 5.7.28, 5.7.29 and 5.7.30 described in https://www.iana.org/assignments/smtp-enhanced-status-codes/smtp-enhanced-status-codes.xhtml
    • #502 The values of reason of postfix-28.eml and postfix-29.eml in decoded results have been fixed to notcompliantrfc.
    • #504 Implement and update SMTP error codes, reply codes, and error messages described at Google https://support.google.com/a/answer/3726730?hl=en in Sisimai::Rhost::Google.
    • #505 Fix bugs in t/500-fact.t and t/600-lhost-code.t at the code use YAML;. In Sisimai, The YAML module is an optional and not required. Thanks to @eserte

v5.0.0

3 months ago
  • release: "Fri, 2 Feb 2024 23:22:22 +0900 (JST)"
  • version: "5.0.0"
  • changes:
    • INCOMPATIBLE CHANGES SINCE SISIMAI VERSION 4
      • Sisimai version 5 requires Perl 5.26 or later
        • #446, 448 Use the postfix dereference
      • Sisimai->make marked as obsoleted, use Sisimai->rise instead
      • Sisimai does not return the result which reason is vacation by default. Use vacation => 1 option at Sisimai->rise() method to get the parsed results for vacation reason. #436 #437
      • Sisimai::Data and Sisimai::Fact
        • #419, #420 Sisimai::Data class has been renamed to Sisimai::Fact
        • #402 Sisimai::Data->softboucne marked as obsoleted and will be removed at v5.1.0, use Sisimai::Fact->hardbounce instead
      • #401 Sisimai::Message
        • Sisimai::Message no longer create an object
        • Sisimai::Message->make has been renamed to Sisimai::Message->rise
      • #399 Callback feature
        • Parameter hook for a callback has been removed from Sisimai->make and Sisimai->dump. Use the first element of the c___ parameter for setting a callback method instead.
        • Parameter c___ is a parameter of Sisimai->rise and Sisimai->dump, is an array refer- ence and have two elements:
        • The first element of c___ is the same as the hook parameter, is for a callback method email headers and entire message body
        • The second element of the c___ parameter is for a callback method for each email file in Maildir/. The callback method is called at the end of each email file parsing.
        • Implement the following error reasons:
          • AuthFailure is a bounce reason which rejected due to SPF, DKIM, or DMARC failure #467
          • BadReputation is a bounce reason which rejected due to an IP address reputation #469
          • NotCompliantRFC is a bounce reason which rejected due to non-compliance with RFC
          • RequirePTR is a bounce reason which rejected due to missing PTR or having invalid PTR
          • Speeding is a bounce reason which rejected due to exceeding a rate limit or sending too fast #466
    • Implement Sisimai::RFC2045: Born again Sisimai::MIME for compatibility with the Go language version of Sisimai #407
    • #429 Sisimai::Message->rise() parses twice when the entire message body of a bounced mail is multi parted begins with "message/rfc822".
    • #431 Add error messages in some European languages into Office365 and Domino
    • #445 Implement Sisimai::STMP::Transcript for parsing a transcript of session log
    • #451 Reduce substitution code by using for
    • #490, #495 Reduce 82% of regular expressions
      • Implement the following methods:
        • Sisimai::SMTP::Command->test
        • Sisimai::SMTP::Reply->test
        • Sisimai::SMTP::Status->test
        • Sisimai::SMTP::Status->prefer
        • Sisimai::String->aligned
        • Sisimai::String->ipv4
    • Rename the following classes in Sisimai::Rhost:
      • Sisimai::Rhost::Microsoft (ExchangeOnline)
      • Sisimai::Rhost::Google (GoogleApps)
      • Sisimai::Rhost::Tencent (TencentQQ)
    • Add a sample email bounced from Rakuten Mobile: sisimai/set-of-emails#20
      • lhost-postfix-76.eml (userunknown)
    • Add sample emails bounced from Amazon SES
      • lhost-postfix-77.eml (norelaying)
      • lhost-postfix-78.eml (contenterror)
    • Happy Birthday to Suzu a.k.a. "Neko-dono" Michitsuna 🐈

v4.25.16p1

3 months ago
  • release: "Thu, 1 Feb 2024 12:25:22 +0900 (JST)"
  • version: "4.25.16p1"
  • changes:
    • #497 Tiny code improvement on Sisimai::Lhost::EinsUndEins to parse bounce emails in slightly different formats.

v4.25.16

11 months ago
  • release: "Tue, 16 May 2023 15:03:56 +0900 (JST)"
  • version: "4.25.16"
  • changes:
    • Fix issue #491, Remove X-Auto-Response-Suppress: header from the inspection targets of Sisimai::RFC3834 as it does not indicate an auto-response email. Thanks to @whity
    • Fix issue #492, To avoid slowing down the parsing speed, reduce the size of the email by removing unnecessary parts (text/html, application/*, and image/*). Thanks to @gody01

v4.25.15

1 year ago

v4.25.14

1 year ago
  • release: "Mon, 15 Aug 2022 14:00:22 +0900 (JST)"
  • version: "4.25.14"
  • changes:
    • #461 Fix 2 bugs with the value of "timestamp" at the parsed result.

v4.25.13

1 year ago

v4.25.12

2 years ago
  • release: "Mon, 22 Nov 2021 12:22:22 +0900 (JST)"
  • version: "4.25.12"
  • changes:
    • #438 Localize global variables used by YAML and YAML::Syck:$YAML::Syck::*, $YAML::*. at Sisimai::Data::YAML module. Thanks to @bschmalhofer
    • #441 Add a new error code of La Poste at Sisimai::Rhost::FrancePTT module, a new sample email rhost-franceptt-12.eml into set-of-emails/ directory. Thanks to @vhenon
    • Add rfc3464-41.eml and rfc3464-42.eml
    • Remove all the HTML elements from the value of "diagnosticcode".
    • #443 Fix serious bugs: imported from #442
      • Values of deliverystatus and replycode detected from the message body did not use at Sisimai::Lhost::Exim.
      • true() method strictly checks the value of smtpcommand at some classes in Sisimai::Reason. For example, when a detected reason is spamdetected and virusdetected the value of smtpcommand should be DATA or an SMTP command to be sent after DATA.

v4.25.11p2

2 years ago
  • release: ""
  • version: ""
  • changes:
    • #441 Add a new error code of La Poste at Sisimai::Rhost::FrancePTT module, a new sample email rhost-franceptt-12.eml into set-of-emails/ directory. Thanks to @vhenon