Changes for version v5.0.0

  • 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
  • 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.

Modules

Mail Analyzing Interface for bounce mails.
Parser class for detecting ARF: Abuse Feedback Reporting Format.
Email address object
Date and time utilities
Parsed data object
Dumps parsed data object as a JSON format
Dumps parsed data object as a YAML format
Base class for Sisimai::Lhost::*
bounce mail parser class for Active!hunter.
bounce mail parser class for amavisd-new.
bounce mail parser class for Amazon SES.
bounce mail parser class for Amazon WorkMail.
bounce mail parser class for Aol Mail.
bounce mail parser class for ApacheJames.
bounce mail parser class for Barracuda.
bounce mail parser class for Bigfoot.
bounce mail parser class for BIGLOBE.
bounce mail parser class for Courier MTA.
bounce mail parser class for IBM Domino Server.
bounce mail parser class for au EZweb.
bounce mail parser class for 1&1.
bounce mail parser class for Microsft Exchange Server 2003.
bounce mail parser class for Microsft Exchange Server 2007.
bounce mail parser class for Exim.
bounce mail parser class for FML (fml.org).
bounce mail parser class for Facebook.
bounce mail parser class for GMX and mail.com.
bounce mail parser class for G Suite.
bounce mail parser class for Gmail.
bounce mail parser class for Google Groups.
bounce mail parser class for IMail Server.
bounce mail parser class for Trend Micro InterScan Messaging Security Suite.
bounce mail parser class for au by KDDI.
bounce mail parser class for MX Logic.
bounce mail parser class for MailFoundry.
bounce mail parser class for Trustwave Secure Email Gateway.
bounce mail parser class for @mail.ru.
bounce mail parser class for McAfee Email Appliance.
bounce mail parser class for MessageLabs.
bounce mail parser class for Sun Java System Messaging Server and Oracle Communications Messaging Server.
bounce mail parser class for Lotus Notes Server.
bounce mail parser class for Microsoft Office 365.
bounce mail parser class for OpenSMTPD.
bounce mail parser class for Outlook.com.
bounce mail parser class for Postfix.
bounce mail parser class for PowerMTA.
bounce mail parser class for Amazon SES.
bounce mail parser class for SendGrid.
bounce mail parser class for v8 Sendmail.
bounce mail parser class for SurfControl.
bounce mail parser class for V5 Sendmail.
bounce mail parser class for Verizon Wireless.
bounce mail parser class for X1.
bounce mail parser class for X2.
bounce mail parser class for X3.
bounce mail parser class for Unknown MTA which is developed as a qmail clone.
bounce mail parser class for unknown MTA #5.
bounce mail parser class for X6.
bounce mail parser class for Yahoo! MAIL.
bounce mail parser class for Yandex.Mail.
bounce mail parser class for Zoho Mail.
bounce mail parser class for Digital Arts m-FILTER.
bounce mail parser class for qmail.
Error message parser for MDA
Handler of Mbox/Maildir for reading each mail.
Mailbox reader
Mailbox reader
Mailbox reader
Mailbox reader
Convert bounce email text to data structure.
A Class for making an optimized order list for calling MTA modules in Sisimai::Lhost::*.
DSN field defined in RFC3464 (obsoletes RFC1894)
MIME Utilities
bounce mail parser class for Fallback.
RFC3834 auto reply message detector
Email address related utilities
A class for An Extensible Format for Email Feedback Reports
Detect the bounce reason
Bounce reason is authfailure or not.
Bounce reason is badreputation or not.
Bounce reason is "blocked" or not.
Bounce reason is contenterror or not.
Email delivered successfully
Bounce reason is exceedlimit or not.
Bounce reason is expired or not.
Email forwarded as a complaint message
Bounce reason is filtered or not.
Bounce reason is hasmoved or not.
Bounce reason is hostunknown or not.
Bounce reason is mailboxfull or not.
Bounce reason is mailererror or not.
Bounce reason is mesgtoobig or not.
Bounce reason is networkerror or not.
Bounce reason is norelaying or not.
Bounce reason is notaccept or not.
Bounce reason is notcompliantrfc or not.
Bounce reason is onhold or not.
Bounce reason is policyviolation or not.
Bounce reason is rejected or not.
Bounce reason is "requireptr" or not.
Bounce reason is securityerror or not.
Bounce reason is spamdetected due to Spam content in the message or not.
Bounce reason is speeding or not.
Bounce reason is suspend or not.
Bounce reason is syntaxerror or not.
Bounce reason is systemerror or not.
Bounce reason is systemfull or not.
Bounced due to that too many connections.
Sisimai could not detect the error reason.
Bounce reason is userunknown or not.
A recipient is out of office
Bounce reason is virusdetected or not.
Detect the bounce reason returned from certain remote hosts.
Detect the bounce reason returned from Cox
Detect the bounce reason returned from Orange and La Poste.
Detect the bounce reason returned from GoDaddy.
Detect the bounce reason returned from Google Workspace.
Detect the bounce reason returned from https://www.i.ua/.
Detect the bounce reason returned from au (KDDI).
Detect the bounce reason returned from on-premises Exchange 2019 or older and Office 365.
Detect the bounce reason returned from Mimecast
Detect the bounce reason returned from NTT docomo.
Detect the bounce reason returned from Spectrum.
Detect the bounce reason returned from Tencent .
SMTP Status Codes related utilities
SMTP Command related utilities
SMTP Errors related utilities
SMTP reply code related class
SMTP Enhanced Status Codes related utilities
Transcript of SMTP session parser
String related class
Child class of Time::Piece for Sisimai::Fact