sisimai 4.25.16-java → 5.0.2-java

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/rake-test.yml +55 -0
  3. data/.travis.yml +3 -3
  4. data/ANALYTICAL-PRECISION +2 -2
  5. data/Benchmarks.mk +3 -3
  6. data/CONTRIBUTING +1 -1
  7. data/ChangeLog.md +451 -393
  8. data/Developers.mk +5 -6
  9. data/Gemfile +1 -1
  10. data/Makefile +15 -15
  11. data/README-JA.md +323 -149
  12. data/README.md +319 -149
  13. data/Rakefile +9 -3
  14. data/Repository.mk +2 -3
  15. data/lib/sisimai/address.rb +118 -74
  16. data/lib/sisimai/arf.rb +84 -82
  17. data/lib/sisimai/datetime.rb +5 -52
  18. data/lib/sisimai/{data → fact}/json.rb +7 -9
  19. data/lib/sisimai/fact/yaml.rb +31 -0
  20. data/lib/sisimai/fact.rb +506 -0
  21. data/lib/sisimai/lhost/activehunter.rb +12 -14
  22. data/lib/sisimai/lhost/amavis.rb +11 -14
  23. data/lib/sisimai/lhost/amazonses.rb +37 -42
  24. data/lib/sisimai/lhost/amazonworkmail.rb +15 -19
  25. data/lib/sisimai/lhost/aol.rb +12 -15
  26. data/lib/sisimai/lhost/apachejames.rb +19 -21
  27. data/lib/sisimai/lhost/barracuda.rb +10 -12
  28. data/lib/sisimai/lhost/bigfoot.rb +21 -22
  29. data/lib/sisimai/lhost/biglobe.rb +15 -16
  30. data/lib/sisimai/lhost/courier.rb +20 -20
  31. data/lib/sisimai/lhost/domino.rb +23 -20
  32. data/lib/sisimai/lhost/einsundeins.rb +23 -18
  33. data/lib/sisimai/lhost/exchange2003.rb +30 -29
  34. data/lib/sisimai/lhost/exchange2007.rb +70 -58
  35. data/lib/sisimai/lhost/exim.rb +179 -174
  36. data/lib/sisimai/lhost/ezweb.rb +31 -56
  37. data/lib/sisimai/lhost/facebook.rb +21 -34
  38. data/lib/sisimai/lhost/fml.rb +43 -48
  39. data/lib/sisimai/lhost/gmail.rb +29 -29
  40. data/lib/sisimai/lhost/gmx.rb +18 -17
  41. data/lib/sisimai/lhost/googlegroups.rb +11 -11
  42. data/lib/sisimai/lhost/gsuite.rb +21 -28
  43. data/lib/sisimai/lhost/imailserver.rb +25 -39
  44. data/lib/sisimai/lhost/interscanmss.rb +28 -31
  45. data/lib/sisimai/lhost/kddi.rb +22 -28
  46. data/lib/sisimai/lhost/mailfoundry.rb +11 -12
  47. data/lib/sisimai/lhost/mailmarshalsmtp.rb +25 -29
  48. data/lib/sisimai/lhost/mailru.rb +37 -40
  49. data/lib/sisimai/lhost/mcafee.rb +21 -31
  50. data/lib/sisimai/lhost/messagelabs.rb +17 -21
  51. data/lib/sisimai/lhost/messagingserver.rb +40 -37
  52. data/lib/sisimai/lhost/mfilter.rb +16 -17
  53. data/lib/sisimai/lhost/mxlogic.rb +24 -33
  54. data/lib/sisimai/lhost/notes.rb +17 -17
  55. data/lib/sisimai/lhost/office365.rb +64 -28
  56. data/lib/sisimai/lhost/opensmtpd.rb +12 -13
  57. data/lib/sisimai/lhost/outlook.rb +12 -16
  58. data/lib/sisimai/lhost/postfix.rb +179 -130
  59. data/lib/sisimai/lhost/powermta.rb +12 -14
  60. data/lib/sisimai/lhost/qmail.rb +44 -47
  61. data/lib/sisimai/lhost/receivingses.rb +15 -21
  62. data/lib/sisimai/lhost/sendgrid.rb +34 -34
  63. data/lib/sisimai/lhost/sendmail.rb +65 -53
  64. data/lib/sisimai/lhost/surfcontrol.rb +19 -19
  65. data/lib/sisimai/lhost/v5sendmail.rb +45 -39
  66. data/lib/sisimai/lhost/verizon.rb +35 -39
  67. data/lib/sisimai/lhost/x1.rb +18 -17
  68. data/lib/sisimai/lhost/x2.rb +17 -14
  69. data/lib/sisimai/lhost/x3.rb +19 -19
  70. data/lib/sisimai/lhost/x4.rb +72 -57
  71. data/lib/sisimai/lhost/x5.rb +17 -19
  72. data/lib/sisimai/lhost/x6.rb +41 -17
  73. data/lib/sisimai/lhost/yahoo.rb +17 -16
  74. data/lib/sisimai/lhost/yandex.rb +16 -21
  75. data/lib/sisimai/lhost/zoho.rb +16 -15
  76. data/lib/sisimai/lhost.rb +8 -10
  77. data/lib/sisimai/mail/maildir.rb +1 -3
  78. data/lib/sisimai/mail/mbox.rb +3 -4
  79. data/lib/sisimai/mail/memory.rb +0 -1
  80. data/lib/sisimai/mail/stdin.rb +1 -3
  81. data/lib/sisimai/mail.rb +3 -7
  82. data/lib/sisimai/mda.rb +28 -42
  83. data/lib/sisimai/message.rb +444 -326
  84. data/lib/sisimai/order.rb +5 -5
  85. data/lib/sisimai/reason/authfailure.rb +65 -0
  86. data/lib/sisimai/reason/badreputation.rb +53 -0
  87. data/lib/sisimai/reason/blocked.rb +96 -160
  88. data/lib/sisimai/reason/contenterror.rb +8 -9
  89. data/lib/sisimai/reason/delivered.rb +4 -6
  90. data/lib/sisimai/reason/exceedlimit.rb +10 -12
  91. data/lib/sisimai/reason/expired.rb +7 -8
  92. data/lib/sisimai/reason/feedback.rb +2 -3
  93. data/lib/sisimai/reason/filtered.rb +17 -19
  94. data/lib/sisimai/reason/hasmoved.rb +9 -10
  95. data/lib/sisimai/reason/hostunknown.rb +15 -15
  96. data/lib/sisimai/reason/mailboxfull.rb +11 -12
  97. data/lib/sisimai/reason/mailererror.rb +18 -20
  98. data/lib/sisimai/reason/mesgtoobig.rb +9 -11
  99. data/lib/sisimai/reason/networkerror.rb +5 -8
  100. data/lib/sisimai/reason/norelaying.rb +8 -11
  101. data/lib/sisimai/reason/notaccept.rb +13 -14
  102. data/lib/sisimai/reason/notcompliantrfc.rb +43 -0
  103. data/lib/sisimai/reason/onhold.rb +6 -9
  104. data/lib/sisimai/reason/policyviolation.rb +14 -12
  105. data/lib/sisimai/reason/rejected.rb +26 -24
  106. data/lib/sisimai/reason/requireptr.rb +69 -0
  107. data/lib/sisimai/reason/securityerror.rb +34 -36
  108. data/lib/sisimai/reason/spamdetected.rb +115 -147
  109. data/lib/sisimai/reason/speeding.rb +49 -0
  110. data/lib/sisimai/reason/suspend.rb +12 -11
  111. data/lib/sisimai/reason/syntaxerror.rb +11 -10
  112. data/lib/sisimai/reason/systemerror.rb +7 -9
  113. data/lib/sisimai/reason/systemfull.rb +7 -8
  114. data/lib/sisimai/reason/toomanyconn.rb +9 -11
  115. data/lib/sisimai/reason/undefined.rb +2 -3
  116. data/lib/sisimai/reason/userunknown.rb +129 -146
  117. data/lib/sisimai/reason/vacation.rb +3 -4
  118. data/lib/sisimai/reason/virusdetected.rb +10 -11
  119. data/lib/sisimai/reason.rb +59 -64
  120. data/lib/sisimai/rfc1894.rb +55 -28
  121. data/lib/sisimai/rfc2045.rb +373 -0
  122. data/lib/sisimai/rfc3464.rb +250 -308
  123. data/lib/sisimai/rfc3834.rb +42 -45
  124. data/lib/sisimai/rfc5322.rb +177 -146
  125. data/lib/sisimai/rfc5965.rb +31 -0
  126. data/lib/sisimai/rhost/cox.rb +5 -6
  127. data/lib/sisimai/rhost/franceptt.rb +6 -8
  128. data/lib/sisimai/rhost/godaddy.rb +12 -12
  129. data/lib/sisimai/rhost/google.rb +530 -0
  130. data/lib/sisimai/rhost/iua.rb +9 -10
  131. data/lib/sisimai/rhost/kddi.rb +6 -8
  132. data/lib/sisimai/rhost/{exchangeonline.rb → microsoft.rb} +115 -114
  133. data/lib/sisimai/rhost/mimecast.rb +51 -42
  134. data/lib/sisimai/rhost/nttdocomo.rb +12 -12
  135. data/lib/sisimai/rhost/spectrum.rb +10 -12
  136. data/lib/sisimai/rhost/{tencentqq.rb → tencent.rb} +7 -8
  137. data/lib/sisimai/rhost.rb +23 -31
  138. data/lib/sisimai/smtp/command.rb +59 -0
  139. data/lib/sisimai/smtp/error.rb +4 -7
  140. data/lib/sisimai/smtp/reply.rb +161 -74
  141. data/lib/sisimai/smtp/status.rb +507 -393
  142. data/lib/sisimai/smtp/transcript.rb +124 -0
  143. data/lib/sisimai/smtp.rb +0 -1
  144. data/lib/sisimai/string.rb +74 -5
  145. data/lib/sisimai/time.rb +1 -2
  146. data/lib/sisimai/version.rb +1 -1
  147. data/lib/sisimai.rb +46 -31
  148. data/set-of-emails/maildir/bsd/lhost-domino-02.eml +6 -3
  149. data/set-of-emails/maildir/bsd/lhost-googlegroups-15.eml +174 -0
  150. data/set-of-emails/maildir/bsd/lhost-gsuite-15.eml +229 -0
  151. data/set-of-emails/maildir/bsd/lhost-postfix-75.eml +51 -0
  152. data/set-of-emails/maildir/bsd/lhost-postfix-76.eml +101 -0
  153. data/set-of-emails/maildir/bsd/lhost-postfix-77.eml +74 -0
  154. data/set-of-emails/maildir/bsd/lhost-postfix-78.eml +91 -0
  155. data/set-of-emails/maildir/bsd/lhost-receivingses-08.eml +88 -0
  156. data/set-of-emails/maildir/bsd/lhost-sendmail-60.eml +85 -0
  157. data/set-of-emails/maildir/bsd/rfc3464-43.eml +88 -0
  158. data/set-of-emails/maildir/bsd/rhost-google-03.eml +101 -0
  159. data/set-of-emails/maildir/bsd/rhost-google-04.eml +102 -0
  160. data/set-of-emails/maildir/bsd/rhost-google-05.eml +82 -0
  161. data/set-of-emails/maildir/bsd/rhost-google-06.eml +102 -0
  162. data/set-of-emails/maildir/bsd/rhost-google-07.eml +69 -0
  163. data/set-of-emails/maildir/bsd/rhost-google-08.eml +99 -0
  164. data/sisimai-java.gemspec +1 -1
  165. data/sisimai.gemspec +1 -1
  166. metadata +48 -26
  167. data/.rspec +0 -2
  168. data/lib/sisimai/data/yaml.rb +0 -33
  169. data/lib/sisimai/data.rb +0 -411
  170. data/lib/sisimai/mime.rb +0 -456
  171. data/lib/sisimai/rhost/googleapps.rb +0 -261
  172. /data/set-of-emails/maildir/bsd/{rfc3464-41.eml → rfc3834-05.eml} +0 -0
  173. /data/set-of-emails/maildir/bsd/{rhost-googleapps-01.eml → rhost-google-01.eml} +0 -0
  174. /data/set-of-emails/maildir/bsd/{rhost-googleapps-02.eml → rhost-google-02.eml} +0 -0
  175. /data/set-of-emails/maildir/bsd/{rhost-exchangeonline-01.eml → rhost-microsoft-01.eml} +0 -0
  176. /data/set-of-emails/maildir/bsd/{rhost-exchangeonline-02.eml → rhost-microsoft-02.eml} +0 -0
  177. /data/set-of-emails/maildir/bsd/{rhost-exchangeonline-03.eml → rhost-microsoft-03.eml} +0 -0
  178. /data/set-of-emails/maildir/bsd/{rhost-tencentqq-01.eml → rhost-tencent-01.eml} +0 -0
  179. /data/set-of-emails/maildir/bsd/{rhost-tencentqq-02.eml → rhost-tencent-02.eml} +0 -0
  180. /data/set-of-emails/maildir/bsd/{rhost-tencentqq-03.eml → rhost-tencent-03.eml} +0 -0
data/ChangeLog.md CHANGED
@@ -1,31 +1,137 @@
1
1
  RELEASE NOTES for Ruby version of Sisimai
2
- ================================================================================
2
+ ===================================================================================================
3
3
  - releases: "https://github.com/sisimai/rb-sisimai/releases"
4
4
  - download: "https://rubygems.org/gems/sisimai"
5
5
 
6
+ v5.0.2
7
+ ---------------------------------------------------------------------------------------------------
8
+ - release: "Wed, 13 Mar 2024 13:00:00 +0900 (JST)"
9
+ - version: "5.0.2"
10
+ - changes:
11
+ - #271 #267 Sisimai 5 works on JRuby again. Thanks to @hiroyuki-sato
12
+ - #159 Implement workarounds at `Sisimai::Fact` and some public tests with `DateTime` class to
13
+ run Sisimai on JRuby, to avoid failing `strptime()`
14
+ - #269 Replace `Array#append` with `Array#push` at `Sisimai::RFC5322` because `Array#append` is
15
+ only available in Ruby 2.5 and above
16
+ - We have started testing JRuby 9.2 and 9.4 on GitHub Actions
17
+ - Disable 2 tests in `test/public/mail-test.rb` that fails on GitHub Actions only
18
+ - `5.7.23` returned from Office365 is an error related to SPF vilation (authfailure)
19
+ - #272 Fixed an issue that Sisimai could not get the value of `alias` address correctly when an
20
+ email forwarded and bounced
21
+ - `Sisimai::RFC5322.received` now returns a list including all the elements except date time and
22
+ (comments) found in the `Received` header
23
+ - Update the error message patterns in `Sisimai::Rhost::Mimecast`
24
+ - Update the error message patterns in the followings:
25
+ - `AuthFailure`
26
+ - `Blocked`
27
+ - `Expired`
28
+ - `MailboxFull`
29
+ - `SecurityError`
30
+ - `SpamDetected`
31
+ - `Suspend`
32
+
33
+ v5.0.1
34
+ ---------------------------------------------------------------------------------------------------
35
+ - release: "Sun, 3 Mar 2024 17:17:17 +0900 (JST)"
36
+ - version: "5.0.1"
37
+ - changes:
38
+ - #263 Implement three SMTP status codes as follows: `5.7.28`, `5.7.29` and `5.7.30` described in
39
+ https://www.iana.org/assignments/smtp-enhanced-status-codes/smtp-enhanced-status-codes.xhtml
40
+ - #264 The values of `reason` of `postfix-28.eml` and `postfix-29.eml` in decoded results have
41
+ been fixed to `notcompliantrfc`.
42
+ - #265 Implement and update SMTP error codes, reply codes, and error messages described at Google
43
+ https://support.google.com/a/answer/3726730?hl=en in `Sisimai::Rhost::Google`.
44
+
45
+ v5.0.0
46
+ ---------------------------------------------------------------------------------------------------
47
+ - release: "Fri, 2 Feb 2024 23:22:22 +0900 (JST)"
48
+ - version: "5.0.0"
49
+ - changes:
50
+ - **INCOMPATIBLE CHANGES SINCE SISIMAI VERSION 4**
51
+ - **Sisimai requires Ruby 2.4 or later**
52
+ - `Sisimai.make` marked as obsoleted and will be removed at Sisimai v5.1.0, use `Sisimai.rise`
53
+ instead
54
+ - Sisimai doesn't return the result which reason is `vacation` by default. Use `vacation: true`
55
+ option at `Sisimai.rise()` method to get the parsed results for `vacation` reason. #220, #222
56
+ - `Sisimai::Data` and `Sisimai::Fact`
57
+ - #208 `Sisimai::Data` has been renamed to `Sisimai::Fact`
58
+ - #197 `Sisimai::Data.softboucne` marked as obsoleted and will be removed at v5.1.0, use
59
+ `Sisimai::Fact.hardbounce` instead
60
+ - #198 `Sisimai::Message`
61
+ - `Sisimai::Message` no longer creates an object
62
+ - `Sisimai::Message.make` renamed to `Sisimai::Message.rise`
63
+ - Callback feature #191
64
+ - Parameter `:hook` for the callback feature has been removed from `Sisimai.rise()` and
65
+ `Sisimai.dump()` methods. Use the first element of `:c___` parameter for setting a callback
66
+ method instead.
67
+ - Parameter `:c___` is a parameter of `Sisimai.rise` and `Sisimai.dump`, is an array refer-
68
+ ence and have two elements:
69
+ - The first element of `:c___` is the same with `:hook` parameter, is for a callback method
70
+ email headers and entire message body
71
+ - The second element of `c___` parameter is for a callback method for each email file in
72
+ Maildir/. The callback method is called at the end of each email file parsing.
73
+ - Implement the following error reasons:
74
+ - `AuthFailure` is a bounce reason which rejected due to SPF, DKIM, or DMARC failure #236
75
+ - `BadReputation` is a bounce reason which rejected due to an IP address reputation #240
76
+ - `NotCompliantRFC` is a bounce reason which rejected due to non-compliance with RFC
77
+ - `RequirePTR` is a bounce reason which rejected due to missing PTR or having invalid PTR
78
+ - `Speeding` is a bounce reason which rejected due to exceeding a rate limit or sending too
79
+ fast #239
80
+ - Implement `Sisimai::RFC2045`: Born again `Sisimai::MIME` for compatibility with the Go language
81
+ version of Sisimai #199
82
+ - Sisimai uses `minitest` as a test framework, RSpec has been removed
83
+ - #217 `Sisimai::Message.rise()` parses twice when the entire message body of a bounced mail is
84
+ multi parted begins with "message/rfc822".
85
+ - #218 Add error messages in some European languages into Office365 and Domino
86
+ - #228 Implement `Sisimai::SMTP::Transcript` for parsing a transcript of session log
87
+ - #254, #255 Reduce 78% of regular expressions
88
+ - Implement the following methods:
89
+ - `Sisimai::SMTP::Command.test`
90
+ - `Sisimai::SMTP::Reply.test`
91
+ - `Sisimai::SMTP::Status.test`
92
+ - `Sisimai::SMTP::Status.prefer`
93
+ - `Sisimai::String.aligned`
94
+ - `Sisimai::String.ipv4`
95
+ - Rename the following classes in `Sisimai::Rhost`:
96
+ - `Sisimai::Rhost::Microsoft` (ExchangeOnline)
97
+ - `Sisimai::Rhost::Google` (GoogleApps)
98
+ - `Sisimai::Rhost::Tencent` (TencentQQ)
99
+ - Add a sample email bounced from Rakuten Mobile: sisimai/set-of-emails#20
100
+ - `lhost-postfix-76.eml` (userunknown)
101
+ - Add sample emails bounced from Amazon SES
102
+ - `lhost-postfix-77.eml` (norelaying)
103
+ - `lhost-postfix-78.eml` (contenterror)
104
+ - Happy Birthday to Suzu a.k.a. "Neko-dono" Michitsuna
105
+
106
+ v4.25.16p1
107
+ ---------------------------------------------------------------------------------------------------
108
+ - release: "Thu, 1 Feb 2024 12:25:22 +0900 (JST)"
109
+ - version: "4.25.16p1"
110
+ - changes:
111
+ - #256 Tiny code improvement on `Sisimai::Lhost::EinsUndEins` to parse bounce emails in slightly
112
+ different formats.
113
+
6
114
  v4.25.16
7
- --------------------------------------------------------------------------------
115
+ ---------------------------------------------------------------------------------------------------
8
116
  - release: "Tue, 16 May 2023 15:11:22 +0900 (JST)"
9
117
  - version: "4.25.16"
10
118
  - changes:
11
- - Fix `Sisimai::MIME.mimedecode()` method when the encoding name is lower case
12
- "b" (not "B") like `=?utf-8?b?...` #251 Thanks to @revsystem
13
- - #253 Fix code in `Sisimai::Data.make()` method to handle `nil` returned from
14
- `Sisimai::Rhost.get()` method. Thanks to @axfcampos
119
+ - Fix `Sisimai::MIME.mimedecode()` method when the encoding name is lower case "b" (not "B") like
120
+ `=?utf-8?b?...` #251 Thanks to @revsystem
121
+ - Fix code in `Sisimai::Data.make()` method to handle `nil` returned from `Sisimai::Rhost.get()`
122
+ method. Thanks to @axfcampos #253
15
123
  - Tiny code improvement: import code from sisimai/p5-sisimai#493 (message.rb)
16
124
  - Tiny code improvement: import code from sisimai/p5-sisimai#494 (rfc3834.rb)
17
125
 
18
126
  v4.25.15
19
- --------------------------------------------------------------------------------
127
+ ---------------------------------------------------------------------------------------------------
20
128
  - release: "Thu, 22 Dec 2022 13:13:13 +0900 (JST)"
21
129
  - version: "4.25.15"
22
130
  - changes:
23
- - Prevent ReDOS: Regex Denial of Service in `Sisimai::String.to_plain` #244.
24
- Thanks to @gmcabrita
25
- - Fix an error reason "5.2.1 exceedlimit" of an error message: "450-4.2.1 The
26
- user you are trying to contact is receiving mail at a rate that prevents ad-
27
- ditional messages from being delivered" to "toomanyconn" at Rhost::GoogleApp
28
- class, imported from sisimai/p5-sisimai#465.
131
+ - Prevent ReDOS: Regex Denial of Service in `Sisimai::String.to_plain` #244. Thanks to @gmcabrita
132
+ - Fix an error reason "5.2.1 exceedlimit" of an error message: "450-4.2.1 The user you are trying
133
+ to contact is receiving mail at a rate that prevents additional messages from being delivered"
134
+ to "toomanyconn" at Rhost::GoogleApp class, imported from sisimai/p5-sisimai#465.
29
135
  - Bug fix: getting a "name" part of an email address at Sisimai::Address.find
30
136
  - Add many error message patterns at the following classes in `Sisimai/Reason`
31
137
  - `Blocked`
@@ -38,75 +144,71 @@ v4.25.15
38
144
  - `SpamDetected`
39
145
  - `TooManyConn`
40
146
  - `UserUnknown`
41
- - When the value of `diagnosticcode` has enough error message for detecting a
42
- bounce reason, `expired` will change to `networkerror`
43
- - Update code in `Sisimai::Lhost::GoogleGroups` module to parse well a bounce
44
- mail even if an email address of `X-Failed-Recipients:` header does not in-
45
- clude a domain `@googlegroups.com` #234
46
- - Import #235 from Sisimai v5, Implement `Sisimai::Rhost::NTTDOCOMO` to parse
47
- more strictly a bounce mail returned from `mfsmax.docomo.ne.jp`
147
+ - When the value of `diagnosticcode` has enough error message for detecting a bounce reason,
148
+ `expired` will change to `networkerror`
149
+ - Update code in `Sisimai::Lhost::GoogleGroups` module to parse well a bounce mail even if an e-
150
+ mail address of `X-Failed-Recipients` header does not include a domain `@googlegroups.com` #234
151
+ - Import #235 from Sisimai v5, Implement `Sisimai::Rhost::NTTDOCOMO` to parse more strictly a
152
+ bounce mail returned from `mfsmax.docomo.ne.jp`
48
153
  - Import #241 from Sisimai v5, Implement `Sisimai::Rhost::Mimecast`
49
154
  - Add the following error messages at `Sisimai::Rhost::ExchangeOnline:
50
- - 451 4.7.650 The mail server [...] has been temporarily rate limited due to
51
- IP reputation ... (S775)
52
- - 550 5.7.1 ... Please contact your Internet service provider since part of
53
- their network is on our block list (S3150)
155
+ - 451 4.7.650 The mail server ... has been temporarily rate limited due to IP reputation (S775)
156
+ - 550 5.7.1 ... Please contact your Internet service provider since part of their network is on
157
+ our block list (S3150)
54
158
  - Error messages of Exchange Server 2019 #242
55
159
  - Add many error messages at `Sisimai::Rhost::GoogleApps`, Import #243
56
160
 
57
161
  v4.25.14
58
- --------------------------------------------------------------------------------
162
+ ---------------------------------------------------------------------------------------------------
59
163
  - release: "Mon, 15 Aug 2022 14:22:22 +0900 (JST)"
60
- - version: "4.25.14"
164
+ - version: "4.25.12"
61
165
  - changes:
62
166
  - Nothing changed, follow the Perl version of Sisimai 4.25.14.
63
167
 
64
168
  v4.25.13
65
- --------------------------------------------------------------------------------
169
+ ---------------------------------------------------------------------------------------------------
66
170
  - release: "Mon, 1 Aug 2022 16:05:55 +0900 (JST)"
67
171
  - version: "4.25.13"
68
172
  - changes:
69
173
  - Nothing changed, follow the Perl version of Sisimai 4.25.13.
70
174
 
71
175
  v4.25.12
72
- --------------------------------------------------------------------------------
176
+ ---------------------------------------------------------------------------------------------------
73
177
  - release: "Mon, 22 Nov 2021 12:22:22 +0900 (JST)"
74
178
  - version: "4.25.12"
75
179
  - changes:
76
180
  - Fix 2 encoding related errors:
77
- - Fix an error with message `incompatible character encodings:ASCII-8BIT and
78
- UTF-8` reported at issue #223. Thanks to @chahn
79
- - Fix an error with message `invalid byte sequence in UTF-8 (ArgumentError)`
80
- reported at issue #224. Thanks to @chahn
181
+ - Fix an error with the message: `incompatible character encodings: ASCII-8BIT and UTF-8` re-
182
+ ported at issue #223. Thanks to @chahn
183
+ - Fix an error with the message: `invalid byte sequence in UTF-8 (ArgumentError)` reported at
184
+ issue #224. Thanks to @chahn
81
185
  - Add `rfc3464-41.eml` and `rfc3464-42.eml` provided by @chahn
82
- - Add a new error code of La Poste at `Sisimai::Rhost::FrancePTT` module and
83
- a new sample email `rhost-franceptt-12.eml` into `set-of-emails` directory
84
- imported from sisimai/p5-sisimai#441.
186
+ - Add a new error code of La Poste at `Sisimai::Rhost::FrancePTT` module and a new sample email
187
+ `rhost-franceptt-12.eml` into `set-of-emails` directory imported from sisimai/p5-sisimai#441.
85
188
  - Remove all the HTML elements from the value of `diagnosticcode`.
86
189
  - Fix serious bugs:
87
- - Both of the values of `deliverystatus` and `replycode` detected from the
88
- message body did not use at `Sisimai::Lhost::Exim`.
89
- - `true` method strictly checks the value of `smtpcommand` at some classes
90
- in `Sisimai/Reason`. For example, when a detected reason is `spamdetected`
91
- and `virusdetected` the value of `smtpcommand` should be `DATA` or an SMTP
92
- command to be sent after `DATA`.
190
+ - Both of the values of `deliverystatus` and `replycode` detected from the message body did not
191
+ use at `Sisimai::Lhost::Exim`.
192
+ - `true` method strictly checks the value of `smtpcommand` at some classes in `Sisimai/Reason`
193
+ directory. For example, when a detected reason is `spamdetected` and `virusdetected` the val-
194
+ ue of `smtpcommand` should be `DATA` or an SMTP command to be sent after `DATA`.
93
195
 
94
196
  v4.25.11
95
- --------------------------------------------------------------------------------
197
+ ---------------------------------------------------------------------------------------------------
96
198
  - release: "Mon, 22 Feb 2021 21:15:22 +0900 (JST)"
97
199
  - version: "4.25.11"
98
200
  - changes:
99
201
  - Fix typo in `Sisimai::RFC3464`
100
202
  - Import some commits from Sisimai version 5 preview #
101
203
  - Improved code for getting an email address in `Sisimai::Address`
102
- - Improved code for checking the day of month value, for converting a full
103
- month name and a full day of the week at `Sisimai::DateTime`
204
+ - Improved code for checking the day of month value, for converting a full month name and a
205
+ full day of the week at `Sisimai::DateTime`
104
206
  - Improvement code for picking text blocks of message/rfc822 part in RFC5322
105
207
  - Add 60+ error message patterns
106
208
  - Improved code for encodings in `Sisimai::Lhost::Domino`, `Sisimai::String`
107
209
 
108
210
  v4.25.10
109
- --------------------------------------------------------------------------------
211
+ ---------------------------------------------------------------------------------------------------
110
212
  - release: "Tue, 22 Dec 2020 13:22:22 +0900 (JST)"
111
213
  - version: "4.25.10"
112
214
  - changes:
@@ -122,54 +224,51 @@ v4.25.10
122
224
  - Add some sample emails related to above into set-of-emails/
123
225
 
124
226
  v4.25.9
125
- --------------------------------------------------------------------------------
227
+ ---------------------------------------------------------------------------------------------------
126
228
  - release: "Sat, 3 Oct 2020 22:00:00 +0900 (JST)"
127
229
  - version: ""
128
230
  - changes:
129
231
  - Suppress warning messages on Ruby 2.7. Thanks to @koic
130
232
  - Suppress keyword argument warnings in Ruby 2.7 #200
131
233
  - Suppress a Ruby warning for `Object#=~` and bug fix to match patterns #201
132
- - #203 Replace `.+` with `[^ ]` on some large regular expressions for serious
133
- performance reason.
234
+ - #203 Replace `.+` with `[^ ]` on some large regular expressions for serious performance reason.
134
235
  - #204 Suport Null MX (RFC7505) on Sendmail sisimai/set-of-emails#4
135
236
 
136
237
  v4.25.8
137
- --------------------------------------------------------------------------------
238
+ ---------------------------------------------------------------------------------------------------
138
239
  - release: "Fri, 17 Jul 2020 11:59:49 +0900 (JST)"
139
240
  - version: "4.25.8"
140
241
  - changes:
141
242
  - **Repository URL was changed to https://github.com/sisimai/rb-sisimai**
142
243
  - `Sisimai::Message.make` method was merged into `Sisimai::Message.new`
143
244
  - `Sisimai::Message.divideup` returns an array (faster than a hash)
144
- - Remove unused code blocks for deciding the order of email header fields at
145
- `Sisimai::Data.make` method
245
+ - Remove unused code blocks for deciding the order of email header fields at `Sisimai::Data.make`
246
+ method
146
247
  - Remove old parameters: `datasrc` and `bounces` at the callback feature #189
147
248
  - Implement `Sisimai::Rhost::Spectrum` for parsing bounce mails returned from
148
249
  https://www.spectrum.com/.
149
250
  - Remove unsed method `Sisimai::Rhost->list`
150
251
  - Fix bugs in `Sisimai::Lhost::FML` and `Sisimai::Lhost::X5`
151
- - Fix code for finding the value of `Diagnostic-Code` field in multiple lines
152
- at `Sisimai::RFC3464`
153
- - Implement Sisimai::Rhost::Cox for parsing bounce mails returned from Cox:
154
- https://cox.com/ #193
252
+ - Fix code to find the value of `Diagnostic-Code` field in multiple lines at `Sisimai::RFC3464`
253
+ - Implement Sisimai::Rhost::Cox for parsing bounce mails returned from Cox: https://cox.com/ #193
155
254
 
156
255
  v4.25.7
157
- --------------------------------------------------------------------------------
256
+ ---------------------------------------------------------------------------------------------------
158
257
  - release: "Sat, 25 Apr 2020 22:22:22 +0900 (JST)"
159
258
  - version: "4.25.7"
160
259
  - changes:
161
260
  - Bug fix in `rake spec` for removed module `Sisimai::Lhost::UserDefined`
162
261
 
163
262
  v4.25.6
164
- --------------------------------------------------------------------------------
263
+ ---------------------------------------------------------------------------------------------------
165
264
  - release: "Wed, 22 Apr 2020 16:22:22 +0900 (JST)"
166
265
  - version: "4.25.6"
167
266
  - changes:
168
267
  - Performance improvement: 10% faster, reduced 9% of method calls
169
268
  - #176 Make `Sisimai::Message` 27% faster
170
- - Use the negative look-ahead regular expression code to convert all of the
171
- email header strings into key-value pairs as a HASH at newly implemented
172
- method `Sisiai::Message.makemap` #175. Thanks to @xtetsuji
269
+ - Use the negative look-ahead regular expression code for convertingl all of the email header
270
+ strings into key-value pairs as a HASH at newly implemented method `Sisiai::Message.makemap`
271
+ #175. Thanks to @xtetsuji
173
272
  - Remove `Sisimai::Message.takeapart` (replaced with `makemap`)
174
273
  - Remove `Sisimai::Message.headers` (replaced with `makemap`)
175
274
  - Code improvement for `require` statement before method calls #177
@@ -178,19 +277,19 @@ v4.25.6
178
277
  - Remove `Sisimai::Order.by`
179
278
  - Remove `Sisimai::Order.headers`
180
279
  - Remove `Sisimai::Lhost.headerlist`
181
- - And all `headerlist` method have been removed from `Sisimai::Lhost::*`,
182
- `Sisimai::RFC3834` and `Sisimai::ARF`
183
- - The MTA module to be loaded at first is decided by the first 2 words of
184
- each bounce mail subject, is defined at `Subject` in `Sisimai::Order`
280
+ - And all `headerlist` method have been removed from `Sisimai::Lhost::*`, `Sisimai::RFC3834`
281
+ and `Sisimai::ARF`
282
+ - The MTA module to be loaded at first is decided by the first 2 words of each bounce mail sub-
283
+ ject, is defined at `Subject` in `Sisimai::Order`
185
284
  - Some variables are replaced with `state`
186
- - Each `field` parameter has been removed from the following methods because
187
- Sisimai detect all the email header fields by `Sisimai::Message.makemap()`
188
- without having to specify field names at `field` parameter
285
+ - Each `field` parameter has been removed from the following methods because Sisimai detect all
286
+ the email header fields by `Sisimai::Message.makemap` without having to specify field names at
287
+ `field` parameter
189
288
  - `Sisimai.make`
190
289
  - `Sisimai::Message.new`
191
290
  - `Sisimai::Message.make`
192
- - Code improvement for `require` statement before calling `match()` method of
193
- some modules defined in `$PreMatches` at `Sisimai::Reason::UserUnknown`
291
+ - Code improvement for `require` statement before calling `match` method of some modules defined
292
+ in `$PreMatches` at `Sisimai::Reason::UserUnknown`
194
293
  - Remove the following unused methods:
195
294
  - `Sisimai::MIME.patterns`
196
295
  - `Sisimai::SMTP.command`
@@ -200,8 +299,8 @@ v4.25.6
200
299
  - `Sisimai::Lhost::PowerMTA`
201
300
  - `Sisimai::Lhost::X6`
202
301
  - `Sisimai::Lhost::GoogleGroups`
203
- - "email-" prefix of each sample email in set-of-emails/maildir directory has
204
- been replaced with "lhost-" sisimai/set-of-emails#14
302
+ - `email-` prefix of each sample email in set-of-emails/maildir directory has been replaced with
303
+ `lhost-` sisimai/set-of-emails#14
205
304
  - SMTP Agent improvement #158
206
305
  - Remove `Email::` prefix from the value of `smtpagent` at parsed results
207
306
  - Remove `Sisimai::Lhost->smtpagent` method
@@ -211,12 +310,12 @@ v4.25.6
211
310
  - `Sisimai::Lhost::Office365` improvement for reading MIME-encoded subject
212
311
  - `Sisimai::Lhost::Exchange2007` supports error messages in `it-CH`
213
312
  - Tiny bug fix for `Subject` header decoding
214
- - Fix bug in code for getting an `"addresser"` address from `From:` field in
215
- the original message part which are multiple lines at `Sisimai::ARF`. #185
216
- - New accessor `origin` at `Sisimai::Data` and the parsed results for keeping
217
- a path to the source email #186
218
- - #187 `Sisimai::Mail` improvement for compatibilities with the Go language
219
- version of Sisimai which will be released this summer
313
+ - Fix bug in code for getting an `"addresser"` address from `From:` field in the original message
314
+ part which are multiple lines at `Sisimai::ARF`. #185
315
+ - #186 New accessor `origin` at `Sisimai::Data` and the parsed results for keeping a path to the
316
+ source email.
317
+ - #187 `Sisimai::Mail` improvement for compatibilities with the Go language version of Sisimai
318
+ which will be released this summer
220
319
  - Removed `Sisimai::Mail::STDIN.name` (not used)
221
320
  - Removed `Sisimai::Mail::Maildir.inodes` (not needed to check the inode)
222
321
  - Removed `Sisimai::Mail::Maildir.count` (use `offset` instead)
@@ -227,24 +326,24 @@ v4.25.6
227
326
  - Methods above will be removed at v4.25.10
228
327
  - `Sisimai::Mail::Memory.data` renamed to `Sisimai::Mail::Memory.payload`
229
328
  - `Sisimai::Mail::Maildir.size` keeps the number of files in the Maildir/
230
- - `Sisimai::Mail::Maildir.offset` keeps the number of email files in the
231
- Maildir/ which have been read
329
+ - `Sisimai::Mail::Maildir.offset` keeps the number of email files in the Maildir/ which have
330
+ been read
232
331
  - Call `Sisimai::Mail::*.read` directly instead of `Sisimai::Mail.read`
233
332
  - Remove `Sisimai::Lhost::UserDefined` (not used)
234
333
  - Add the following D.S.N. codes and error messages (not tested)
235
334
  - `Mailbox does not exist!` at `Sisimai::Reason::UserUnknown` (Amazon SES)
236
335
  - `Not a valid recipienet` at `Sisimai::Reason::UserUnknown` (Yahoo!)
237
336
  - `Envelope blocked` at `Sisimai::Reason::Rejected` (Minecast.com)
238
- - `5.2.122` is toomanyconn, `5.4.11` is contenterror, `5.7.51` is blocked
239
- at `Sisimai::Rhost::ExchangeOnline`
337
+ - `5.2.122` is toomanyconn, `5.4.11` is contenterror, `5.7.51` is blocked at `Sisimai::Rhost::
338
+ ExchangeOnline`
240
339
 
241
340
  v4.25.5
242
- --------------------------------------------------------------------------------
341
+ ---------------------------------------------------------------------------------------------------
243
342
  - release: "Wed, 22 Jan 2020 14:44:44 +0900 (JST)"
244
343
  - version: "4.25.5"
245
344
  - changes:
246
- - **JSON READING AS A INPUT SOURCE AND JSON PARSING AS A BOUNCE OBJECT ARE NO
247
- LONGER PROVIDED AS OF v4.25.5**
345
+ - **JSON READING AS A INPUT SOURCE AND JSON PARSING AS A BOUNCE OBJECT ARE NO LONGER PROVIDED AS
346
+ OF v4.25.5**
248
347
  - The following obsoleted classes and modules have been removed #166 #168
249
348
  - `Sisimai::Message::Email`
250
349
  - `Sisimai::Message::JSON`
@@ -252,34 +351,34 @@ v4.25.5
252
351
  - `Sisimai::Order::JSON`
253
352
  - `Sisimai::Bite::Email`
254
353
  - `Sisimai::Bite::JSON`
255
- - Fix bug in code to detect whether a bounce mail was generated by Office365
256
- or not at `Sisimai::Lhost::Office365`
257
- - Import sisimai/p5-Sisimai#342
258
- - Fix parser code to get an error message which is not beginning with `#`
259
- character at Exchange2007.
260
- - Import sisimai/p5-Sisimai#347
354
+ - Fix bug in code to detect whether a bounce mail was generated by Office365 or not at `Sisimai::
355
+ Lhost::Office365`
356
+ - Import sisimai/p5-sisimai#342
357
+ - Fix parser code to get an error message which is not beginning with `#` character at Exchange
358
+ 2007.
359
+ - Import sisimai/p5-sisimai#347
261
360
  - Support case insensitive error code at `Sisimai::Rhost::FrancePTT`,
262
- - Import sisimai/p5-Sisimai#348
263
- - Code improvements at `Sisimai::Lhost::EinsUndEins` for detecting errors
264
- and setting the value of `rhost`
361
+ - Import sisimai/p5-sisimai#348
362
+ - Code improvements at `Sisimai::Lhost::EinsUndEins` for detecting errors and setting the value
363
+ of `rhost`
265
364
  - Many Pull-Requests and sample emails for French ESPs by @aderumier
266
365
  - Add 4 error code values at `Sisimai::Rhost::FrancePTT`
267
366
  - `102` = `blocked`
268
367
  - `426` = `suspend`
269
368
  - `505` = `systemerror`
270
369
  - `999` = `blocked`
271
- - Add 7 sample emails at set-of-emails/ directory: rhost-franceptt-04, 05,
272
- 06, 07, 08, 10, and 11 for `Sisimai::Rhost::FrancePTT` #353 #357
370
+ - Add 7 sample emails at set-of-emails/ directory: rhost-franceptt-04, 05, 06, 07, 08, 10, and
371
+ 11 for `Sisimai::Rhost::FrancePTT` #353 #357
273
372
  - Add many error codes and error messages from Orange and La Poste
274
- - Import sisimai/p5-Sisimai#350
275
- - Code improvement at `Sisimai::Lhost::Postfix` for setting `HELO` into the
276
- value of `smtpcommand` in the parsed results.
277
- - Import sisimai/p5-Sisimai#351
278
- - Code improvements at `Sisimai::Lhost::Postfix` for parsing an email which
279
- have neither delivery reports nor error messages.
280
- - Import sisimai/p5-Sisimai#352
281
- - Code improvements at `Sisimai::RFC3834` for parsing a vacation message
282
- replied automatically from iCloud.
373
+ - Import sisimai/p5-sisimai#350
374
+ - Code improvement at `Sisimai::Lhost::Postfix` module for setting `HELO` into the value of
375
+ `smtpcommand` in the parsed results.
376
+ - Import sisimai/p5-sisimai#351
377
+ - Code improvements at `Sisimai::Lhost::Postfix` module for parsing an email which have neither
378
+ delivery reports nor error messages.
379
+ - Import sisimai/p5-sisimai#352
380
+ - Code improvements at `Sisimai::RFC3834` for parsing a vacation message replied automatically
381
+ from iCloud.
283
382
  - Accessor improvements in the following classes:
284
383
  - `Sisimai::Message`
285
384
  - `Sisimai::Data`
@@ -289,101 +388,95 @@ v4.25.5
289
388
  - reduce the number of lines in code about 12%
290
389
 
291
390
  v4.25.4
292
- --------------------------------------------------------------------------------
391
+ ---------------------------------------------------------------------------------------------------
293
392
  - release: "Tue, 3 Dec 2019 12:34:45 +0900 (JST)"
294
393
  - version: "4.25.4"
295
394
  - changes:
296
- - #152 **THE ABILITY TO READ JSON STRING AS AN INPUT SOURCE AND TO PARSE JSON
297
- FORMATTED BOUNCE MESSAGE WILL NOT BE SUPPORTED AT Sisimai 4.25.5**
298
- - **The following modules for reading json string as an input source, and for
299
- parsing json formatted bounce message will be removed at Sisimai 4.25.5**
395
+ - #152 **THE ABILITY TO READ JSON STRING AS AN INPUT SOURCE AND TO PARSE JSON FORMATTED BOUNCE
396
+ MESSAGE WILL NOT BE SUPPORTED AT Sisimai 4.25.5**
397
+ - **The following modules for reading json string as an input source, and for parsing json for-
398
+ matted bounce message will be removed at Sisimai 4.25.5**
300
399
  - `Sisimai::Message::JSON`
301
400
  - `Sisimai::Bite::JSON`
302
401
  - `Sisimai::Bite::JSON::AmazonSES`
303
402
  - `Sisimai::Bite::JSON::SendGrid`
304
403
  - `Sisimai::Order::JSON`
305
- - Implement a new MTA module class `Sisimai::Lhost`, it is a parent class of
306
- all the MTA modules for a bounce mail returned as an email message via SMTP
307
- and **THE FOLLOWING NAME SPACES WERE MARKED AS OBSOLETED OR REMOVED** #153
404
+ - Implement a new MTA module class `Sisimai::Lhost`, it is a parent class of all the MTA modules
405
+ for a bounce mail returned as an email message via SMTP and **THE FOLLOWING NAME SPACES WERE
406
+ MARKED AS OBSOLETED OR REMOVED** #153
308
407
  - `Sisimai::Bite`: Use `Sisimai::Lhost` instead
309
408
  - `Sisimai::Bite::Email`: Merged into `Sisimai::Lhost`
310
- - `Sisimai::Bite::Email::*`: Moved under `Sisimai::Lhost` as the same named
311
- MTA module
312
- - The following modules were marked as obsoleted, will be removed and merged
313
- into each parent class
409
+ - `Sisimai::Bite::Email::*`: Moved under `Sisimai::Lhost` as the same named MTA module
410
+ - The following modules were marked as obsoleted, will be removed and merged into each parent
411
+ class
314
412
  - `Sisimai::Message::Email`
315
413
  - `Sisimai::Order::Email`
316
- - USAGE AND PARAMETERS FOR THE FOLLOWING METHODS HAVE NOT BEEN CHANGED AT ALL
317
- AND WILL NOT BE CHANGED AFTER Sisimai 4.25.5
414
+ - USAGE AND PARAMETERS FOR THE FOLLOWING METHODS HAVE NOT BEEN CHANGED AT ALL AND WILL NOT BE
415
+ CHANGED AFTER Sisimai 4.25.5
318
416
  - `Sisimai.make`
319
417
  - `Sisimai.dump`
320
418
  - `Sisimai::Message.new`
321
419
  - Implement `Sisimai::Rhost::IUA` for SMTP error codes at https://www.i.ua/.
322
420
  - Update error message pattern for ClamSMTP at "virusdetected" reason.
323
- - Fix an indicator string for detecting the beginning of the original message
324
- part at `Sisimai::Bite::Email::MFILTER`
325
- - Multibyte characters in the original subject header will not be removed and
326
- replaced with "MULTIBYTE CHARACTERS HAS BEEN REMOVED"
327
- - Error message `... had no relevant answers.` from GSuite is classified into
328
- "networkerror" reason.
421
+ - Fix an indicator string for detecting the beginning of the original message part at `Sisimai::
422
+ Bite::Email::MFILTER`
423
+ - Multibyte characters in the original subject header will not be removed and replaced with "MUL-
424
+ TIBYTE CHARACTERS HAS BEEN REMOVED"
425
+ - Error message `... had no relevant answers.` from GSuite is classified into `networkerror` rea-
426
+ son.
329
427
 
330
428
  v4.25.3
331
- --------------------------------------------------------------------------------
429
+ ---------------------------------------------------------------------------------------------------
332
430
  - release: ""Sat, 7 Sep 2019 15:00:22 +0900 (JST)
333
431
  - version: "4.25.3"
334
432
  - changes:
335
- - Fix code for getting a recipient address from the original message part at
336
- `Sisimai::ARF`
337
- - Fix code for getting a recipient mail address and a subject string from the
338
- original messaage part at `Sisimai::Bite::Email::MailMarshalSMTP`
433
+ - Fix code for getting a recipient address from the original message part at `Sisimai::ARF`
434
+ - Fix code for getting a recipient mail address and a subject string from the original messaage
435
+ part at `Sisimai::Bite::Email::MailMarshalSMTP`
339
436
  - Fix code to delete unused multipart headers at `Sisimai::MIME.breaksup`
340
- - Fix code for getting a recipient email address and an expanded address from
341
- `Final-Recipient:` and `Original-Recipient:` field at `Sisimai::RFC3464`
342
- - Update code for matching error message "The user you are trying to contact
343
- is receiving mail at a rate that prevents additional messages from being
344
- delivered." at `Sisimai::Rhost::GoogleApps`
345
- - Update error message pattern for "blocked" reason from GMX: "ESMTP Service
346
- not available No SMTP service Bad DNS PTR resource record."
347
- - Update error message pattern for "suspend" reason responded from i.ua MTA:
348
- "550 Mailbox is frozen."
437
+ - Fix code for getting a recipient email address and an expanded address from `Final-Recipient:`
438
+ and `Original-Recipient:` field at `Sisimai::RFC3464`
439
+ - Update code for matching error message "The user you are trying to contact is receiving mail at
440
+ a rate that prevents additional messages from being delivered." at `Sisimai::Rhost::GoogleApps`
441
+ - Update error message pattern for `blocked` reason from GMX: `ESMTP Service not available No
442
+ SMTP service Bad DNS PTR resource record.`
443
+ - Update error message pattern for `suspend` reason responded from i.ua MTA: `550 Mailbox is fro-
444
+ zen.`
349
445
 
350
446
  v4.25.2
351
- --------------------------------------------------------------------------------
447
+ ---------------------------------------------------------------------------------------------------
352
448
  - release: "Thu, 1 Aug 2019 20:00:00 +0900 (JST)"
353
449
  - version: "4.25.2"
354
450
  - changes:
355
- - THIS RELEASE IS TO FIX SERIOUS BUGS IN ONLY THE PERL VERSION OF SISIMAI
356
- - Import Pull-Request from https://github.com/sisimai/p5-Sisimai/pull/324
451
+ - **THIS RELEASE IS TO FIX SERIOUS BUGS IN ONLY THE PERL VERSION OF SISIMAI**
452
+ - Import Pull-Request from https://github.com/sisimai/p5-sisimai/pull/324
357
453
  - Improved MIME decoding code in Sisimai::MIME
358
454
  - Strictly checks the number of parsed emails in `make test`
359
455
 
360
456
  v4.25.1
361
- --------------------------------------------------------------------------------
457
+ ---------------------------------------------------------------------------------------------------
362
458
  - release: "4.25.1"
363
459
  - version: "Tue, 23 Jul 2019 10:00:00 +0900 (JST)"
364
460
  - changes:
365
- - Check the format of the value of `Message-Id` header for detecting a bounce
366
- mail from Exim or not.
367
- - Call `Sisimai::Rhost::FrancePTT` module when the value of `rhost` includes
368
- `.wanadoo.fr`.
369
- - Fix code at `Sisimai::Message::Email.takeapart` method to decode a Subject
370
- header of the original message.
461
+ - Check the format of the value of `Message-Id` header for detecting a bounce mail from Exim or
462
+ not.
463
+ - Call `Sisimai::Rhost::FrancePTT` module when the value of `rhost` includes `.wanadoo.fr`.
464
+ - Fix code at `Sisimai::Message::Email.takeapart` method to decode a Subject header of the orig-
465
+ inal message.
371
466
  - #147 Update error messages for Low Reputation Error from Gmail.
372
- - Parser code to read bounce mails from m-FILTER at `Sisimai::Message::Email`
373
- has been improved.
467
+ - Parser code to read bounce mails from m-FILTER at `Sisimai::Message::Email` has been improved.
374
468
  - Status 5.4.1 from Exchange Online is classified into "rejected" reason.
375
- - Callback method specified at `Sisimai::Message.new()` with `hook` is called
376
- just before calling `scan()` method of each `Sisimai::Bite::Email` module.
377
- - Code improvement in `Sisimai::Bite::Email::Sendmail` for getting error mes-
378
- sages returned from Google.
469
+ - Callback method specified at `Sisimai::Message.new()` with `hook` is called just before calling
470
+ `scan()` method of each `Sisimai::Bite::Email` module.
471
+ - Code improvement in `Sisimai::Bite::Email::Sendmail` for getting error messages returned from
472
+ Google.
379
473
 
380
474
  v4.25.0
381
- --------------------------------------------------------------------------------
475
+ ---------------------------------------------------------------------------------------------------
382
476
  - release: "Tue, 9 Apr 2019 11:22:22 +0900 (JST)"
383
477
  - version: "4.25.0"
384
478
  - changes:
385
- - Implement new class `Sisimai::RFC1894` for parsing message/delivery-status
386
- part. #133
479
+ - Implement new class `Sisimai::RFC1894` for parsing message/delivery-status part. #133
387
480
  - Experimental implementation at the following MTA, Rhost modules:
388
481
  - `Sisimai::Bite::Email::Amavis`: amavisd-new
389
482
  - `Sisimai::Rhost::TencentQQ`: Tencent QQ (mail.qq.com)
@@ -394,12 +487,11 @@ v4.25.0
394
487
  - Code refactoring: less lines of code and shallower indentation.
395
488
  - Build test for JRuby on Travis CI was temporarily disabled. #138
396
489
  - Sisimai works on Ruby 2.6.0
397
- - Fix `Sisimai::ARF.is_arf` method to remove angle brackets:`<` and `>` from
398
- `From:` header.
490
+ - Fix `Sisimai::ARF.is_arf` method to remove angle brackets:`<` and `>` from `From:` header.
399
491
  - Fix serious bug (Hash key typo) in `Sisimai::Rhost::Google`
400
492
  - Less Symbol, less `String#to_sym`.
401
- - Remove `set-of-emails/logo` directory because we cannot change the license
402
- of each file in the directory to The 2-Clause BSD License.
493
+ - Remove `set-of-emails/logo` directory because we cannot change the license of each file in the
494
+ directory to The 2-Clause BSD License.
403
495
  - Update error message patterns in the following modules:
404
496
  - `Sisimai::Reason::Blocked` (hotmail, ntt docomo)
405
497
  - `Sisimai::Reason::PolicyViolation` (postfix)
@@ -409,26 +501,25 @@ v4.25.0
409
501
  - `Sisimai::Reason::UserUnknown` (hotmail)
410
502
  - `Sisimai::Bite::Email::McAfee` (userunknown)
411
503
  - `Sisimai::Bite::Email::Exchange2007` (securityerror)
412
- - The order of `Sisimai::Bite::Email` modules to be loaded has been changed:
413
- Load Office365 and Outlook prior to Exchange2007 and Exchange2003.
504
+ - The order of `Sisimai::Bite::Email` modules to be loaded has been changed: Load Office365 and
505
+ Outlook prior to Exchange2007 and Exchange2003.
414
506
  - Update the followng MTA modules for improvements and bug fixes:
415
507
  - `Sisimai::Bite::Email::Exchange2007`
416
508
  - MIME Decoding in `Subject:` header improved.
417
509
  - Bug fix in `Sisimai::MIME.is_mimeencoded` method.
418
- - Make stable the order of MTA modules which have MTA specific email headers
419
- at `Sisimai::Order::Email.headers` method.
510
+ - Make stable the order of MTA modules which have MTA specific email headers at `Sisimai::Order::
511
+ Email.headers` method.
420
512
 
421
513
  v4.24.1
422
- --------------------------------------------------------------------------------
514
+ ---------------------------------------------------------------------------------------------------
423
515
  - release: "Wed, 14 Nov 2018 11:09:44 +0900 (JST)"
424
516
  - version: "4.24.1"
425
517
  - changes:
426
- - Fix bug in Sisimai::RFC3464: scan method unintentionally detects non-bounce
427
- mail as a bounce.
428
- - Remove unused method Sisimai::DateTime.o2d
518
+ - Fix bug in `Sisimai::RFC3464`: scan method unintentionally detects non-bounce mail as a bounce.
519
+ - Remove unused method `Sisimai::DateTime.o2d`
429
520
 
430
521
  v4.24.0
431
- --------------------------------------------------------------------------------
522
+ ---------------------------------------------------------------------------------------------------
432
523
  - release: "Thu, 1 Nov 2018 18:00:00 +0900 (JST)"
433
524
  - version: "4.24.0"
434
525
  - changes:
@@ -445,137 +536,125 @@ v4.24.0
445
536
  - Invalid HELO/EHLO name
446
537
 
447
538
  v4.23.0
448
- --------------------------------------------------------------------------------
539
+ ---------------------------------------------------------------------------------------------------
449
540
  - release: "Fri, 31 Aug 2018 20:19:54 +0900 (JST)"
450
541
  - version: "4.23.0"
451
542
  - changes:
452
- - #124 Implement Sisimai::Mail::Memory class for reading bounce messages from
453
- memory(variable).
454
- - Update regular expression in Sisimai::Bite::Email::Office365 for detecting
455
- failure on SMTP RCPT.
456
- - #126 Fix awful bugs(NoMethodError) in Sisimai::Bite::Email::Biglobe, EZweb,
457
- and KDDI. Thanks to @rinmu.
543
+ - #124 Implement `Sisimai::Mail::Memory` class for reading bounce messages from memory(variable).
544
+ - Update regular expression in `Sisimai::Bite::Email::Office365` for detecting failure on SMTP
545
+ RCPT command.
546
+ - #126 Fix awful bugs(NoMethodError) in `Sisimai::Bite::Email::Biglobe`, `EZweb`, and `KDDI`.
547
+ Thanks to @rinmu.
458
548
  - #128 Less method calls: use method chain, bang method.
459
- - Import commit sisimai/p5-Sisimai@cccb4ef Some test code have been loosened
460
- for UTC+13(Pacific/Tongatapu), UTC+14(Pacific/Kiritimati).
461
- - #127 Fix "NoMethodError" in Sisimai::Bite::Email::Postfix when the value of
462
- Diagnostic-Code field is folded. Thanks to @Unknown22.
549
+ - Import commit sisimai/p5-sisimai@cccb4ef. Some test code have been loosened for UTC+13 (Pacific
550
+ /Tongatapu), UTC+14 (Pacific/Kiritimati).
551
+ - #127 Fix `NoMethodError` in `Sisimai::Bite::Email::Postfix` when the value of `Diagnostic-Code`
552
+ field is folded. Thanks to @Unknown22.
463
553
 
464
554
  v4.22.7
465
- --------------------------------------------------------------------------------
555
+ ---------------------------------------------------------------------------------------------------
466
556
  - release: "Mon, 16 Jul 2018 13:02:54 +0900 (JST)"
467
557
  - version: "4.22.7"
468
558
  - changes:
469
- - Register D.S.N. "4.4.312" and "5.4.312" on Office 365 as "networkerror".
470
- - Fix error message pattern in Sisimai::Reason::SecurityError.
471
- - Fix code to get the original Message-Id field which continued to the next
472
- line. Thanks to Andreas Mock.
473
- - Update error message pattern in Sisimai::Reason::SpamDetected.
559
+ - Register D.S.N. `4.4.312` and `5.4.312` on Office 365 as `networkerror`.
560
+ - Fix error message pattern in `Sisimai::Reason::SecurityError`.
561
+ - Fix code to get the original `Message-Id` field which continued to the next line.
562
+ Thanks to Andreas Mock.
563
+ - Update error message pattern in `Sisimai::Reason::SpamDetected`.
474
564
  - Add 15 sample emails for Postfix, Outlook and others.
475
- - Add 3 sample emails for Sisimai::RFC3464.
476
- - Add 2 sample vacation emails for Sisimai::RFC3834.
565
+ - Add 3 sample emails for `Sisimai::RFC3464`.
566
+ - Add 2 sample vacation emails for `Sisimai::RFC3834`.
477
567
 
478
568
  v4.22.6
479
- --------------------------------------------------------------------------------
569
+ ---------------------------------------------------------------------------------------------------
480
570
  - release: "Wed, 23 May 2018 20:00:00 +0900 (JST)"
481
571
  - version: ""
482
572
  - changes:
483
- - #115 Fix bug in Sisimai::MIME.qprintd().
484
- - Error message patterns in Sisimai::Reason::Filtered have been replaced with
485
- fixed strings.
486
- - #116 Remove sample email files listed in sisimai/set-of-emails#6 to clarify
487
- copyrights.
488
- - The value of "softbounce" in the parsed results is always "1" when a reason
489
- is "undefined" or "onhold".
573
+ - #115 Fix bug in `Sisimai::MIME.qprintd()`.
574
+ - Error message patterns in Sisimai::Reason::Filtered have been replaced with fixed strings.
575
+ - #116 Remove sample email files listed in sisimai/set-of-emails#6 to clarify copyrights.
576
+ - The value of `softbounce` in the parsed results is always `1` when a reason is `undefined` or
577
+ `onhold`.
490
578
  - #117 Less regular expression in each class of Sisimai::Bite::Email.
491
579
  - #118 Cool logo for "set-of-emails". Thanks to @batarian71.
492
- - #119 Implement Sisimai::Rhost::KDDI for detecting a bounce reason of au via
493
- msmx.au.com or lsean.ezweb.ne.jp. Thanks to @kokubumotohiro.
494
- - Update sample emails and codes for getting error messages in bounced emails
495
- on Oath(Yahoo!).
496
- - Add many sample emails for "notaccept" and "rejected".
580
+ - #119 Implement `Sisimai::Rhost::KDDI` for detecting a bounce reason of au via msmx.au.com or
581
+ lsean.ezweb.ne.jp. Thanks to @kokubumotohiro.
582
+ - Update sample emails and codes for getting error messages in bounced emails on Oath(Yahoo!).
583
+ - Add many sample emails for `notaccept` and `rejected` reasons.
497
584
 
498
585
  v4.22.5
499
- --------------------------------------------------------------------------------
586
+ ---------------------------------------------------------------------------------------------------
500
587
  - release: "Fri, 30 Mar 2018 12:29:36 +0900 (JST)"
501
588
  - version: "4.22.5"
502
589
  - changes:
503
590
  - #112 The order to load MTA modules improvement.
504
- - Sample emails in set-of-emails/ which are not owned by Sisimai project have
505
- been removed.
591
+ - Sample emails in set-of-emails/ which are not owned by Sisimai project have been removed.
506
592
  - Update error message patterns in Sisimai::Reason::Expired.
507
593
  - Less regular expression in each child class of Sisimai::Reason #113.
508
- - Pre-Updates for au.com, the new domain of EZweb from Apr 2018 announced at
594
+ - Pre-Updates for au.com, the new domain of EZweb from Apr 2018 announced at their site
509
595
  http://news.kddi.com/kddi/corporate/newsrelease/2017/08/22/2637.html #114
510
596
 
511
597
  v4.22.4
512
- --------------------------------------------------------------------------------
598
+ ---------------------------------------------------------------------------------------------------
513
599
  - release: "Wed, 14 Feb 2018 10:44:00 +0900 (JST)"
514
600
  - version: "4.22.4"
515
601
  - changes:
516
- - Import commit sisimai/p5-Sisimai@8c6eb33, Add status code 4.7.25 (RFC-7372)
517
- as "blocked".
602
+ - Import commit sisimai/p5-sisimai@8c6eb33, Add status code 4.7.25 (RFC-7372) as "blocked".
518
603
  - The following performance improvements makes 1.49 times faster.
519
- - It makes rb-Sisimai on JRuby 1.16 times faster.
520
- - #96 String#+ and sprintf replaced with String#<< at Pull-Request #103.
521
- - #98 loop do replaced with while(true) at Pull-Request #104.
522
- - #99 String#=~ and regular expressions /\A...\z/, /\A.../ or /...\z/ have
523
- been replaced with String#start_with?, String#end_with?, String#include?,
524
- Array#include?, or String#== at Pull-Request #105, #107, #108.
525
- - #102 String#sub(/...\z/, '...') has been replaced with String#chomp, or
526
- String#strip, String#lstrip, String#rstrip at Pull-Request #106.
527
- - Import Pull-Request sisimai/p5-Sisimai#258, remove /i modifier from each
528
- regular expressions as possible and call String#downcase before matching.
529
- - Pull-Request #111, Some Array#each have been replaced with Array#shift in
530
- while loop.
604
+ - It makes rb-sisimai on JRuby 1.16 times faster.
605
+ - #96 `String#+` and `sprintf` replaced with `String#<<` at Pull-Request #103.
606
+ - #98 `loop do` replaced with `while(true)` at Pull-Request #104.
607
+ - #99 `String#=~` and regular expressions `/\A...\z/`, `/\A.../` or `/...\z/` have been re-
608
+ placed with `String#start_with?`, `String#end_with?`, `String#include?`, `Array#include?`, or
609
+ `String#==` at Pull-Request #105, #107, #108.
610
+ - #102 `String#sub(/...\z/, '...')` has been replaced with `String#chomp`, or `String#strip`,
611
+ `String#lstrip`, `String#rstrip` at Pull-Request #106.
612
+ - Import sisimai/p5-sisimai#258, remove `/i` modifier from each regular expressions as possible
613
+ and call String#downcase before matching.
614
+ - Pull-Request #111, Some Array#each have been replaced with Array#shift in while loop.
531
615
 
532
616
  v4.22.3
533
- --------------------------------------------------------------------------------
617
+ ---------------------------------------------------------------------------------------------------
534
618
  - release: "Tue, 26 Dec 2017 09:22:22 +0900 (JST)"
535
619
  - version: "4.22.3"
536
620
  - changes:
537
- - Issue #88: Fix codes in Sisimai.DateTime.parse() for setting numeric values
538
- using sprintf(). Thanks to @phuong1492.
539
- - Import Pull-Request sisimai/p5-Sisimai#239, add error message patterns for
540
- laposte.net and orange.fr.
541
- - Import Pull-Req sisimai/p5-Sisimai#244 to follow up sisimai/p5-Sisimai#239.
542
- More support for Orange and La Poste.
543
- - Import Pull-Request sisimai/p5-Sisimai#245, update error message patterns
544
- of SFR and Free.fr.
545
- - Import Pull-Request sisimai/p5-Sisimai#246, large scale updates for Exim
546
- and error message patterns.
547
- - Merge Pull-Request #93 from @subuta to fix issue #92. Sisimai.make() method
548
- passes ActiveSupport::HashWithIndifferentAccess object with `input: "json"`
549
- parameter. Thanks to @subuta.
550
- - Import Pull-Request sisimai/p5-Sisimai#247, Add 100+ error message patterns
551
- into the following reason classes: Blocked, Expired, Filtered, HostUnknown,
552
- PolicyViolation, MailboxFull, NetworkError, NoRelaying, Rejected, Suspend,
553
- SpamDetected, SystemError, TooManyConn, and UserUnknown.
554
- - Fix bug in a regular expression object for concatenating error messages in
555
- Sisimai::Bite::Email::Exim.
556
- - Fix a wrong regular expression for detecting a recipient address and error
557
- messages in Sisiamai::Bite::Email::IMailServer.
558
- - Import Pull-Request sisimai/p5-Sisimai#247: Improved code at Sisimai::Data
559
- to remove string like "550-5.1.1" from an error message for to be matched
560
- exactly with regular expressions defined in each class of Sisimai::Reason.
561
- - Fixed issue #91, Import and convert error messages and reasons table from
562
- Sisimai::Bite::Email::Exchange2007 into Sisimai::Rhost::ExchangeOnline for
563
- detecting an error reason. Thanks to @joaoscotto.
564
- - Fix code to avoid an error with "invalid byte sequence in UTF-8" reported
565
- at https://heartbeats.jp/hbblog/2017/12/sisimai.html .
566
- - Implement Sisimai::Bite::Email::FML to parse bounce mails generated by fml
567
- mailing list server/manager. Thanks to @ttkzw.
621
+ - Issue #88: Fix codes in `Sisimai.DateTime.parse()` for setting numeric values using `sprintf()`
622
+ Thanks to @phuong1492.
623
+ - Import sisimai/p5-sisimai#239, add error message patterns for laposte.net and orange.fr.
624
+ - Import sisimai/p5-sisimai#244 to follow up sisimai/p5-sisimai#239. More support for Orange and
625
+ La Poste.
626
+ - Import sisimai/p5-sisimai#245, update error message patterns of SFR and Free.fr.
627
+ - Import sisimai/p5-sisimai#246, large scale updates for Exim and error message patterns.
628
+ - Merge Pull-Request #93 from @subuta to fix issue #92. `Sisimai.make()` method passes Active-
629
+ Support::HashWithIndifferentAccess object with `input: "json"` parameter. Thanks to @subuta.
630
+ - Import Pull-Request sisimai/p5-sisimai#247, Add 100+ error message patterns into the following
631
+ reason classes: Blocked, Expired, Filtered, HostUnknown, PolicyViolation, MailboxFull, Network-
632
+ Error, NoRelaying, Rejected, Suspend, SpamDetected, SystemError, TooManyConn, and UserUnknown.
633
+ - Fix bug in a regular expression object for concatenating error messages in Sisimai::Bite::Email
634
+ ::Exim.
635
+ - Fix a wrong regular expression for detecting a recipient address and error messages in Sisiamai
636
+ ::Bite::Email::IMailServer.
637
+ - Import sisimai/p5-sisimai#247: Improved code at Sisimai::Data to remove string like `550-5.1.1`
638
+ from an error message for to be matched exactly with regular expressions defined in each class
639
+ of Sisimai::Reason.
640
+ - Fixed issue #91, Import and convert error messages and reasons table from Sisimai::Bite::Email
641
+ ::Exchange2007 into Sisimai::Rhost::ExchangeOnline for detecting an error reason.
642
+ Thanks to @joaoscotto.
643
+ - Fix code to avoid an error with "invalid byte sequence in UTF-8" reported at
644
+ https://heartbeats.jp/hbblog/2017/12/sisimai.html .
645
+ - Implement Sisimai::Bite::Email::FML to parse bounce mails generated by fml mailing list server/
646
+ manager. Thanks to @ttkzw.
568
647
 
569
648
  v4.22.2
570
- --------------------------------------------------------------------------------
649
+ ---------------------------------------------------------------------------------------------------
571
650
  - release: "Fri, 13 Oct 2017 11:59:53 +0900 (JST)"
572
651
  - version: "4.22.2"
573
652
  - changes:
574
- - Apply Pull-Request #84 (issue #83) for setting the value of `softorhard` in
575
- `Sisimai::SMTP::Error.soft_or_hard` method. Thanks to @lunatyq.
576
- - Fix a wrong value assignment, and code for Performance/StartWith reported
577
- from Rubocop in Sisimai::Bite::Email::GSuite.
578
- - Update codes about Lint/AssignmentInCondition, Style/Next, Style/EmptyElse,
653
+ - Apply #84 #83 for setting the value of `softorhard` in `Sisimai::SMTP::Error.soft_or_hard()`
654
+ method. Thanks to @lunatyq.
655
+ - Fix a wrong value assignment, and code for Performance/StartWith reported from Rubocop in
656
+ `Sisimai::Bite::Email::GSuite`.
657
+ - Update codes about Lint/AssignmentInCondition, Style/Next, Style/EmptyElse,
579
658
  Style/UselessAssignment, and others reported from Rubocop.
580
659
  - Fix code for Performance/Casecmp, Performance/LstripRstrip in Sisimai::MIME.
581
660
  - Update code for Style/SymbolProc in Sisimai::Message::Email.
@@ -583,248 +662,227 @@ v4.22.2
583
662
  - Suuport "event": "spamreport" via Feedback Loop on SendGrid Event Webhook.
584
663
  - Implement `Sisimai::Address.is_undisclosed` method.
585
664
  - Import Pull-Request #237: Support parsing bounce mail from GoDaddy.
586
- - Fix bug for setting the value of `date` in Sisimai::Bite::Email::Postfix.
587
- - Remove obsoleted classes: Sisimai::MTA, Sisimai::MSP, and Sisimai::CED.
665
+ - Fix bug for setting the value of `date` in `Sisimai::Bite::Email::Postfix`.
666
+ - Remove obsoleted classes: `Sisimai::MTA`, `Sisimai::MSP`, and `Sisimai::CED`.
588
667
  - Remove obsoleted method: `Sisimai::Address.parse`.
589
668
 
590
669
  v4.22.1
591
- --------------------------------------------------------------------------------
670
+ ---------------------------------------------------------------------------------------------------
592
671
  - release: "Tue, 29 Aug 2017 17:25:22 +0900 (JST)"
593
672
  - version: "4.22.1"
594
673
  - changes:
595
- - Sisimai::Address was born again: import Pull-Request sisimai/p5-Sisimai#231
596
- - Implement new email address parser method: find()
597
- - Implement new constructor: make()
598
- - Implement new writable accessors: name() and comment()
599
- - parse() method was marked as obsoleted
600
- - **Require Oj 3.0.0 or later. Build test fails when the version of installed
601
- Oj is 2.18.* on CRuby.**
674
+ - `Sisimai::Address` was born again: import Pull-Request sisimai/p5-sisimai#231
675
+ - Implement new email address parser method: `find()`
676
+ - Implement new constructor: `make()`
677
+ - Implement new writable accessors: `name()` and `comment()`
678
+ - `parse()` method was marked as obsoleted
679
+ - **Require Oj 3.0.0 or later. Build test fails when the version of installed Oj is 2.18.* on
680
+ CRuby.**
602
681
  - Tested on JRuby 9.1.9.0.
603
- - Fix wrong constant name in Sisimai::Rhost::ExchangeOnline reported at issue
604
- #77. Thanks to @rdeavila.
605
- - Improved code in Sisimai::Message::Email to avoid an exception reported at
606
- issue #82. Thanks to @hiroyuki-sato.
607
- - Fixed wrong bitwise operation in Sisimai::RFC3464 for getting the original
608
- message part Thanks to @hiroyuki-sato.
682
+ - Fix wrong constant name in Sisimai::Rhost::ExchangeOnline reported at #77. Thanks to @rdeavila.
683
+ - Improved code in Sisimai::Message::Email to avoid an exception reported at issue #82.
684
+ Thanks to @hiroyuki-sato.
685
+ - Fixed wrong bitwise operation in `Sisimai::RFC3464` for getting the original message part.
686
+ Thanks to @hiroyuki-sato.
609
687
 
610
688
  v4.22.0
611
- --------------------------------------------------------------------------------
689
+ ---------------------------------------------------------------------------------------------------
612
690
  - release: "Tue, 22 Aug 2017 18:25:55 +0900 (JST)"
613
691
  - version: "4.22.0"
614
692
  - changes:
615
- - Import Pull-Request sisimai/p5-Sisimai#225, bounce reason: "securityerror"
616
- has been divided into the following three reasons:
693
+ - Import sisimai/p5-sisimai#225, bounce reason: `securityerror` has been divided into the follow-
694
+ ing three reasons:
617
695
  - securityerror
618
696
  - virusdetected
619
697
  - policyviolation
620
- - Issue #78 All the MTA modules have been moved to Sisimai::Bite::* and old
621
- MTA modules: Sisimai::MTA, Sisimai::MSP, Sisimai::CED, and all the methods
622
- in these classes have been marked as obsoleted.
623
- - Import Pull-Request sisimai/p5-Sisimai#230 Sisimai::Address.find method has
624
- been implemented experimentaly as bourne again parser for email addresses.
698
+ - #78 All the MTA modules have been moved to Sisimai::Bite::* and old MTA modules: Sisimai::MTA,
699
+ Sisimai::MSP, Sisimai::CED, and all the methods in these classes have been marked as obsoleted.
700
+ - Import sisimai/p5-sisimai#230 `Sisimai::Address.find` method has been implemented experimentaly
701
+ as bourne again parser for email addresses.
625
702
 
626
703
  v4.21.1
627
- --------------------------------------------------------------------------------
704
+ ---------------------------------------------------------------------------------------------------
628
705
  - release: "Mon, 29 May 2017 14:22:22 +0900 (JST)"
629
706
  - version: "4.21.1"
630
707
  - changes:
631
- - Pull-Request #73, Fix codes for initializing a hash element with an empty
632
- string in Sisimai::MTA::Postfix. Thanks to @MichiakiNakaya.
633
- - Import pull-request: https://github.com/sisimai/p5-Sisimai/pull/222 from
634
- p5-Sisimai to improve error message patterns.
635
- - Changes file has been renamed to **ChangeLog.md** and converted to Markdown
636
- format.
637
- - Import Pull-Request https://github.com/sisimai/p5-Sisimai/pull/223 for code
638
- improvement to detect DNS related errors at G Suite.
708
+ - #73, Fix codes for initializing a hash element with an empty string in Sisimai::MTA::Postfix.
709
+ Thanks to @MichiakiNakaya.
710
+ - Import sisimai/p5-sisimai#222 to improve error message patterns.
711
+ - Changes file has been renamed to **ChangeLog.md** and converted to Markdown format.
712
+ - Import sisimai/p5-sisimai#223 for code improvement to detect DNS related errors at G Suite.
639
713
  - Improved code to detect RFC7505 (NullMX) error: sisimai/set-of-emails#4.
640
- - Code improvements for checking and decoding irregular MIME encoded strings
641
- at is_mimeencoded and mimedecode methods in Sisimai::MIME class reported at
642
- issue #75. Thanks to @winebarrel.
714
+ - Code improvements for checking and decoding irregular MIME encoded strings at `is_mimeencoded`
715
+ and `mimedecode` methods in Sisimai::MIME class reported at issue #75. Thanks to @winebarrel.
643
716
  - Add unit test codes to test all the changes at issue #75.
644
717
 
645
718
  v4.21.0 - Support G Suite
646
- --------------------------------------------------------------------------------
719
+ ---------------------------------------------------------------------------------------------------
647
720
  - release: "Mon, 10 Apr 2017 12:17:22 +0900 (JST)"
648
721
  - version: "4.21.0"
649
722
  - changes:
650
- - Experimental implementation: new MTA module Sisimai::MSP::US::GSuite for
651
- parsing a bounce mail returned from G Suite.
652
- - `Sisimai.make()` and `Sisimai::Message.new()` methods check the value of a
653
- `field` argument more strictly.
654
- - Improved `Sisimai::SMTP::Status.find()`. The method checks whether a found
655
- value as D.S.N. is IPv4 address or not.
656
- - Improved code for getting error messages, D.S.N. values, and SMTP reply
657
- codes in `Sisimai::MTA::Postfix.scan()` method.
723
+ - Experimental implementation: new MTA module `Sisimai::MSP::US::GSuite` for parsing a bounce
724
+ mail returned from G Suite.
725
+ - `Sisimai.make` and `Sisimai::Message.new` methods check the value of a `field` argument more
726
+ strictly.
727
+ - Improved `Sisimai::SMTP::Status.find()`. The method checks whether a found value as D.S.N. is
728
+ IPv4 address or not.
729
+ - Improved code for getting error messages, D.S.N. values, and SMTP reply codes in `Sisimai::MTA
730
+ ::Postfix.scan()` method.
658
731
  - Pull-Request #69, Fix some typos. Thanks to @koic.
659
732
  - Pull-Request #71, Fix break statement. Thanks to @MichiakiNakaya.
660
- - Issue #70, All the value of `$PATH` in Makefile have been fixed to build a
661
- gem file for JRuby Platform. Thanks to @MichiakiNakaya, @hiroyuki-sato.
733
+ - Issue #70, All the value of `$PATH` in Makefile have been fixed to build a gem file for JRuby
734
+ Platform. Thanks to @MichiakiNakaya, @hiroyuki-sato.
662
735
 
663
736
  v4.20.2
664
- --------------------------------------------------------------------------------
737
+ ---------------------------------------------------------------------------------------------------
665
738
  - release: "Sat, 11 Mar 2017 16:32:48 +0900 (JST)"
666
739
  - version: "4.20.2"
667
740
  - changes:
668
- - Pull-Request #63 Add some error message patterns for a bounce message from
669
- Amazon SES SMTP endpoint.
670
- - Fix regular expression in `Sisimai::Message::Email.headers()` method for
671
- resolving issue #65 reported from @rdeavila.
672
- - Issue #67, Fix code in `Sisimai.make()` method for reading bounce email data
673
- from STDIN. Thanks to @marine_dayo.
674
- - Callback feature improvement: import pull-request from sisimai/p5-Sisimai
675
- https://github.com/sisimai/p5-Sisimai/pull/210.
741
+ - #63 Add some error message patterns for a bounce message from Amazon SES SMTP endpoint.
742
+ - Fix regular expression in `Sisimai::Message::Email.headers()` method for resolving #65 reported
743
+ from @rdeavila.
744
+ - Issue #67, Fix code in `Sisimai.make()` method for reading bounce email data from STDIN.
745
+ Thanks to @marine_dayo.
746
+ - Callback feature improvement: import pull-request from sisimai/p5-sisimai#210
676
747
 
677
748
  v4.20.1
678
- --------------------------------------------------------------------------------
749
+ ---------------------------------------------------------------------------------------------------
679
750
  - release: "Sat, 31 Dec 2016 20:10:22 +0900 (JST)"
680
751
  - version: "4.20.1"
681
752
  - changes:
682
753
  - Fix the Java version of Gem file.
683
754
 
684
755
  v4.20.0 - Support Bounce Ojbect (JSON)
685
- --------------------------------------------------------------------------------
756
+ ---------------------------------------------------------------------------------------------------
686
757
  - release: "Sat, 31 Dec 2016 13:36:22 +0900 (JST)"
687
758
  - version: "4.20.0"
688
759
  - changes:
689
- - Experimental implementation: New MTA modules for 2 Cloud Email Deliveries.
690
- These modules can parse JSON formatted bounce objects and can convert to
691
- Sisimai::Data object.
760
+ - Experimental implementation: New MTA modules for 2 Cloud Email Deliveries. These modules can
761
+ parse JSON formatted bounce objects and can convert to `Sisimai::Data` object.
692
762
  - Sisimai::CED::US::AmazonSES
693
763
  - Sisimai::CED::US::SendGrid
694
- - Format of `smtpagent` in the parsed result has been changed. It includes the
695
- category name of MTA/MSP modules like `MTA::Sendmail`, `MTA::Postfix`, and
696
- `MSP::US::SendGrid`.
697
- - The Domain part of dummy email address defined in Sisimai::Address module
698
- has been changed from `dummy-domain.invalid` to `libsisimai.org.invalid`.
764
+ - Format of `smtpagent` in the parsed result has been changed. It includes the category name of
765
+ MTA/MSP modules like `MTA::Sendmail`, `MTA::Postfix`, and `MSP::US::SendGrid`.
766
+ - The Domain part of dummy email address defined in `Sisimai::Address` module has been changed
767
+ from `dummy-domain.invalid` to `libsisimai.org.invalid`.
699
768
  - `Sisimai::SMTP.is_softbounce()` method has been deleted.
700
- - Code improvement for avoid `Invalid byte sequence in UTF-8 (ArgumentError)`
701
- error in `Sisimai::String.to_plain()` method reported from M.R.
769
+ - Code improvement for avoid `Invalid byte sequence in UTF-8 (ArgumentError)` error in `Sisimai::
770
+ String.to_plain()` method reported from M.R.
702
771
  - Sisimai works on Ruby 2.4.0.
703
772
 
704
773
  v4.19.0 - Callback Feature
705
- --------------------------------------------------------------------------------
774
+ ---------------------------------------------------------------------------------------------------
706
775
  - release: "Tue, 18 Oct 2016 14:19:10 +0900 (JST)"
707
776
  - version: "4.19.0"
708
777
  - changes:
709
- - Implement a callback feature at `Sisimai.make()` and `Sisimai.dump()` methods.
710
- More imformation about the feature are available at the following pages:
778
+ - Implement a callback feature at `Sisimai.make()` and `Sisimai.dump()` methods. More imformation
779
+ about the feature are available at the following pages:
711
780
  - https://libsisimai.org/en/usage#callback
712
781
  - https://libsisimai.org/ja/usage#callback
713
782
  - Implement `Sisimai.match()` method: issue #52.
714
783
  - Minor bug fix in `Sisimai::MSP::US::AmazonSES.scan()` method.
715
784
 
716
785
  v4.18.1
717
- --------------------------------------------------------------------------------
786
+ ---------------------------------------------------------------------------------------------------
718
787
  - release: "Sun, 11 Sep 2016 20:05:20 +0900 (JST)"
719
788
  - version: "4.18.1"
720
789
  - changes:
721
- - Fix bug in `Sisimai::Mail::STDIN.read()` method reported at issue #61.
722
- Thanks to @yaegassy.
790
+ - Fix bug in `Sisimai::Mail::STDIN.read()` method reported at issue #61. Thanks to @yaegassy.
723
791
  - Fix bug in `Sisimai::MIME.qprintd()` reported at issue #60.
724
792
  - Improved code related to MIME decoding.
725
- - Implement `Sisimai::String.to_plain()` for converting from HTML message to
726
- plain text before parsing. The method and related codes are imported from
727
- pull-request #197 at p5-Sisimai.
793
+ - Implement `Sisimai::String.to_plain()` for converting from HTML message to plain text before
794
+ parsing. The method and related codes are imported from pull-request sisimai/p5-sisimai#197
728
795
 
729
796
  v4.18.0 - Improvements for Microsoft Exchange Servers
730
- --------------------------------------------------------------------------------
797
+ ---------------------------------------------------------------------------------------------------
731
798
  - release: "Mon, 22 Aug 2016 20:40:55 +0900 (JST)"
732
799
  - version: "4.18.0"
733
800
  - changes:
734
- - Import pull-request https://github.com/sisimai/rb-Sisimai/pull/59 (soft
735
- bounce improvement) from Perl version of Sisimai.
736
- - Sisimai::MTA::Exchange has been renamed to Sisimai::MTA::Exchange2003.
737
- - Implement new MTA module Sisimai::MTA::Exchange2007.
801
+ - Import sisimai/rb-sisimai#59 (softbounce improvement) from the Perl version of Sisimai.
802
+ - `Sisimai::MTA::Exchange` has been renamed to `Sisimai::MTA::Exchange2003`.
803
+ - Implement new MTA module `Sisimai::MTA::Exchange2007`.
738
804
 
739
805
  v4.17.2
740
- --------------------------------------------------------------------------------
806
+ ---------------------------------------------------------------------------------------------------
741
807
  - release: "Tue, 26 Jul 2016 21:00:17 +0900 (JST)"
742
808
  - version: "4.17.2"
743
809
  - changes:
744
- - Issue #174, Implement Sisimai::Rhost::ExchangeOnline for the bounce mail
745
- from on-premises Exchange 2013 and Office 365.
810
+ - #174, Implement Sisimai::Rhost::ExchangeOnline for the bounce mail from on-premises Exchange
811
+ 2013 and Office 365.
746
812
  - The reason of status code: `4.4.5` is `systemfull`.
747
813
  - Code improvement at Sisimai::MSP::US::Office365.
748
814
 
749
815
  v4.17.1
750
- --------------------------------------------------------------------------------
816
+ ---------------------------------------------------------------------------------------------------
751
817
  - release: "Wed, 30 Mar 2016 14:00:22 +0900 (JST)"
752
818
  - version: "4.17.1"
753
819
  - changes:
754
- - Ported codes from https://github.com/sisimai/p5-Sisimai/pull/180 for fixing
755
- issue https://github.com/sisimai/p5-Sisimai/issues/179, a variable defined
756
- in `lib/sisimai/mta/exim.rb` is not quoted before passing to `%r//` operator.
757
- - Fixed serious bug in `Sisimai::Mail::Maildir#read` method reported at issue
758
- #55 and #56 by pull-request #57. Thanks to @taku1201.
820
+ - Ported codes from sisimai/p5-sisimai#180 for fixing issue sisimai/p5-sisimai#179, a variable
821
+ defined in `lib/sisimai/mta/exim.rb` is not quoted before passing to `%r//` operator.
822
+ - Fixed a serious bug in `Sisimai::Mail::Maildir#read` method reported at #55 and #56 by #57.
823
+ Thanks to @taku1201.
759
824
 
760
825
  v4.17.0 - New Error Reason "syntaxerror"
761
- --------------------------------------------------------------------------------
826
+ ---------------------------------------------------------------------------------------------------
762
827
  - release: "Wed, 16 Mar 2016 12:22:44 +0900 (JST)"
763
828
  - version: "4.17.0"
764
829
  - changes:
765
- - Implement new reason **syntaxerror**. Sisimai will set `syntaxerror` to the
766
- raeson when the value of `replycode` begins with `50` such as 502, 503,
767
- or 504. Imported from https://github.com/sisimai/p5-Sisimai/pull/170.
768
- - Implement `description()` method at each class in `sisimai/reason/*.rb` and
769
- `Sisimai.reason()` method for getting the list of reasons Sisimai can detect
770
- and its description: issue #48.
830
+ - Implement new reason **syntaxerror**. Sisimai will set `syntaxerror` to the value of `raeson`
831
+ when the value of `replycode` begins with `50` such as `502`, `503`, or `504`. Imported from
832
+ sisimai/p5-sisimai#170.
833
+ - Implement `description()` method at each class in `sisimai/reason/*.rb` and `Sisimai.reason()`
834
+ method for getting the list of reasons Sisimai can detect and its description: issue #48.
771
835
  - Remove unused method `Sisimai::Reason.match()`, issue #49.
772
- - Some methods of Sisimai::Address class allow `postmaster`, `mailer-daemon`
773
- (without a domain part) as an email address.
774
- - `Sisimai::RFC5322.is_mailerdaemon()` method returns true when the argument
775
- includes `postmaster`.
776
- - Merge pull-request #51, new method `Sisimai::RFC5322.weedout()` and code
777
- improvements in all the MTA/MSP modules.
778
-
836
+ - Some methods of `Sisimai::Address` class allow `postmaster`, `mailer-daemon` (without a domain
837
+ part) as an email address.
838
+ - `Sisimai::RFC5322.is_mailerdaemon` method returns true when the argument includes `postmaster`.
839
+ - Merge pull-request #51, new method `Sisimai::RFC5322.weedout` and code improvements in all the
840
+ MTA/MSP modules.
779
841
 
780
842
  v4.16.0 - New Error Reason "delivered"
781
- --------------------------------------------------------------------------------
843
+ ---------------------------------------------------------------------------------------------------
782
844
  - release: "Thu, 18 Feb 2016 13:49:01 +0900 (JST)"
783
845
  - version: "4.16.0"
784
846
  - changes:
785
- - Implement new reason **delivered**. Sisimai set `delivered` to the reason
786
- when the value of `Status:` field in a bounce message begins with `21. This
787
- feature is optional and is not enabled by default.
788
- - Implement new method `Sisimai.engine()`. The method returns the list of MTA
789
- and MSP module list implemented in Sisimai.
790
- - Fix serious bug (`gem install` fails on JRuby environment) in Gemfile and
791
- sisimai.gemspec. This bug is reported at issue #46 and pull-request #47.
792
- Thanks to @hiroyuki-sato and all the people who helped for resolving this
793
- issue on https://github.com/rubygems/rubygems/issues/1492.
847
+ - Implement new reason **delivered**. Sisimai set `delivered` to the reason when the value of
848
+ `Status:` field in a bounce message begins with `21`. This feature is optional and is not ena-
849
+ bled by default.
850
+ - Implement new method `Sisimai.engine()`. The method returns the list of MTA and MSP module list
851
+ implemented in Sisimai.
852
+ - Fix serious bug (`gem install` fails on JRuby environment) in Gemfile and sisimai.gemspec. This
853
+ bug is reported at issue #46 and pull-request #47. Thanks to @hiroyuki-sato and all the people
854
+ who helped for resolving this issue on https://github.com/rubygems/rubygems/issues/1492.
794
855
 
795
856
  v4.15.1
796
- --------------------------------------------------------------------------------
857
+ ---------------------------------------------------------------------------------------------------
797
858
  - release: "Wed, 17 Feb 2016 01:36:45 +0900 (JST)"
798
859
  - version: "4.15.1"
799
860
  - changes:
800
- - Fix serious bug: command `gem install sisimai` fails on JRuby, reported at
801
- issue #46. Thanks to @hiroyuki-sato.
861
+ - Fix serious bug: command `gem install sisimai` fails on JRuby, reported at issue #46. Thanks to
862
+ @hiroyuki-sato.
802
863
  - v4.15.1 exist on Ruby version of Sisimai only.
803
864
 
804
865
  v4.15.0 - Oj or JrJackson Required
805
- --------------------------------------------------------------------------------
866
+ ---------------------------------------------------------------------------------------------------
806
867
  - release: "Sat, 13 Feb 2016 12:40:15 +0900 (JST)"
807
868
  - version: "4.15.0"
808
869
  - changes:
809
- - Beginning with this version, Sisimai requires Oj(MRI) or JrJackson(JRuby)
810
- for encoding parsed data to JSON string more faster (about 10%-20% faster
811
- than before). Implemented at pull-request #44 and discussed in issue #42.
870
+ - Beginning with this version, Sisimai requires Oj(MRI) or JrJackson(JRuby) for encoding parsed
871
+ data to JSON string more faster (about 10%-20% faster than before). Implemented at pull-request
872
+ #44 and discussed in issue #42. Thanks to @hiroyuki-sato.
873
+ - Implement new MTA/MSP module `Sisimai::MSP::US::AmazonWorkMail` for parsing a bounce mail via
874
+ Amazon WorkMail. The module and test codes are imported from sisimai/p5-sisimai#162.
875
+ - Implement new MTA/MSP module Sisimai::MSP::US::Office365 for parsing error mails via Microsoft
876
+ Office 365. The module, test codes, and sample emails are imported from sisimai/p5-sisimai#164.
877
+ - New method `Sisimai::Address#to_s` to get an email address as String, it is implemented at #39.
812
878
  Thanks to @hiroyuki-sato.
813
- - Implement new MTA/MSP module Sisimai::MSP::US::AmazonWorkMail for parsing
814
- a bounce mail via Amazon WorkMail. The module and test codes are imported
815
- from https://github.com/sisimai/p5-Sisimai/pull/162.
816
- - Implement new MTA/MSP module Sisimai::MSP::US::Office365 for parsing error
817
- mails via Microsoft Office 365. The module, test codes, and sample emails
818
- are imported from https://github.com/sisimai/p5-Sisimai/pull/164.
819
- - New method `Sisimai::Address#to_s` to get an email address as String, it is
820
- implemented at pull-request #39. Thanks to @hiroyuki-sato.
821
- - Almost all of the class variables are removed for resolving issue #40 and
822
- merged pull-request #43, thanks to @hiroyuki-sato.
879
+ - Almost all of the class variables are removed for resolving issue #40 and merged pull-request
880
+ #43, thanks to @hiroyuki-sato.
823
881
 
824
882
  v4.14.2 - Ruby Version of Sisimai
825
- --------------------------------------------------------------------------------
883
+ ---------------------------------------------------------------------------------------------------
826
884
  - release: "Wed, 3 Feb 2016 13:29:17 +0900 (JST)"
827
885
  - version: "4.14.2"
828
886
  - changes:
829
- - The first release of rb-Sisimai.
887
+ - The first release of rb-sisimai.
830
888