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