sisimai 4.25.16-java → 5.0.2-java

Sign up to get free protection for your applications and to get access to all the features.
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