sisimai 4.25.16 → 4.25.17

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6bebc5b07b710550feea11b7559c77c5263d6667a6ef17f19deea45cc9796f45
4
- data.tar.gz: 8baa0f628a613a370c65aab81a933eef6af4f29ac2c068714fc6695e6500f814
3
+ metadata.gz: 20678fdfbb58052138ae5b15ba230e2a6b6d5b2fe2e37b6f89ff2694baab56e7
4
+ data.tar.gz: d5718bc0b06e8bd2f8a40cbb10d5b1ed42e6901c152bb62a48beb28ce3d85351
5
5
  SHA512:
6
- metadata.gz: 1aa57e71cb1112fa6d2e75bd993e80d0d5ff31b5ed5e708d2473af00a6a0fbd7c00fcc100ffb75d073e2619a7eb7ac5d5741fdbf8e40bdb4684d7d22dd362e66
7
- data.tar.gz: 51bac434c341ddee0f9827d08e493be194118d999662fe2626fb5a5a81de87b0578cb00eec465742d6ef204943c3cc31c9a11150aa850e2ebaf1e0da68859cf6
6
+ metadata.gz: d0d80b05f0d567ddf20e44823deb7023020301c350ab26716f5f685cde7344a2e4c7d58588863f9b9e52e49e16040c90a9d6befbaa2dbc02f9948f44598f8720
7
+ data.tar.gz: b5c53ccd9a85e2b161b77b319d5b980363daf73dd9355cb9a5d724dcd3f35c7e62cec1d79b9e865d131561d8399e68d65cd8e5c8e2ed432777df1db33c580559
data/ChangeLog.md CHANGED
@@ -3,6 +3,26 @@ RELEASE NOTES for Ruby version of Sisimai
3
3
  - releases: "https://github.com/sisimai/rb-sisimai/releases"
4
4
  - download: "https://rubygems.org/gems/sisimai"
5
5
 
6
+ v4.25.17
7
+ --------------------------------------------------------------------------------
8
+ - release: "Wed, 12 Mar 2025 06:40:01 +0900 (JST)"
9
+ - version: "4.25.17"
10
+ - changes:
11
+ - Merge #260 fix for parsing a bounce mail from an EWS Server with a new line
12
+ code(CR). Thanks to @nick4tech
13
+ - Register `set-of-emails/maildir/mac/reported-from-nick4tech-san-01.eml`
14
+ - #333 NTT DOCOMO (Major Japanese mobile carrier) no longer returns a bounce
15
+ mail due to domain rejection or similar email settings, but instead were
16
+ being delivered to the spam folder after March 13th. #335
17
+
18
+ v4.25.16p1
19
+ --------------------------------------------------------------------------------
20
+ - release: "Thu, 1 Feb 2024 12:25:22 +0900 (JST)"
21
+ - version: "4.25.16p1"
22
+ - changes:
23
+ - #256 Tiny code improvement on `Sisimai::Lhost::EinsUndEins` to parse bounce
24
+ emails in slightly different formats.
25
+
6
26
  v4.25.16
7
27
  --------------------------------------------------------------------------------
8
28
  - release: "Tue, 16 May 2023 15:11:22 +0900 (JST)"
data/Makefile CHANGED
@@ -29,19 +29,19 @@ BENCH_TARGETS = profile speed-test loc
29
29
 
30
30
  depend:
31
31
  gem install $(DEPENDENCIES)
32
- if [ test -d "$(JRUBY)" ]; then \
32
+ if [ -d "$(JRUBY)" ]; then \
33
33
  PATH="$(JRUBY)/bin:$$PATH" $(JRUBY)/bin/gem install $(DEPENDENCIES); \
34
34
  fi
35
35
 
36
36
  install-from-rubygems:
37
37
  gem install $(NAME)
38
- if [ test -d "$(JRUBY)" ]; then \
38
+ if [ -d "$(JRUBY)" ]; then \
39
39
  PATH="$(JRUBY)/bin:$$PATH" $(JRUBY)/bin/gem install $(NAME); \
40
40
  fi
41
41
 
42
42
  install-from-local:
43
43
  $(RAKE) install
44
- if [ test -d "$(JRUBY)" ]; then \
44
+ if [ -d "$(JRUBY)" ]; then \
45
45
  PATH="$(JRUBY)/bin:$$PATH" $(JRUBY)/bin/rake install; \
46
46
  fi
47
47
 
data/README-JA.md CHANGED
@@ -2,11 +2,23 @@
2
2
 
3
3
  [![License](https://img.shields.io/badge/license-BSD%202--Clause-orange.svg)](https://github.com/sisimai/rb-sisimai/blob/master/LICENSE)
4
4
  [![Coverage Status](https://img.shields.io/coveralls/sisimai/rb-sisimai.svg)](https://coveralls.io/r/sisimai/rb-sisimai)
5
- [![Build Status](https://travis-ci.org/sisimai/rb-sisimai.svg?branch=master)](https://travis-ci.org/sisimai/rb-sisimai)
6
- [![Codacy Badge](https://api.codacy.com/project/badge/grade/38340177e6284a65be69c0c7c3dc2b58)](https://www.codacy.com/app/azumakuniyuki/rb-sisimai)
7
- [![Ruby](https://img.shields.io/badge/ruby-v2.1.0--v2.6.0-red.svg)](https://www.ruby-lang.org/)
5
+ [![Ruby](https://img.shields.io/badge/ruby-v2.1.0--v3.3.0-red.svg)](https://www.ruby-lang.org/)
8
6
  [![Gem Version](https://badge.fury.io/rb/sisimai.svg)](https://badge.fury.io/rb/sisimai)
9
7
 
8
+ > [!IMPORTANT]
9
+ > **2024年2月2日の時点でこのリポジトリのデフォルトブランチは[5-stable](https://github.com/sisimai/rb-sisimai/tree/5-stable)
10
+ > (Sisimai 5)になりました。** もし古いバージョンを使いたい場合は[4-stable](https://github.com/sisimai/rb-sisimai/tree/4-stable)
11
+ > ブランチを見てください。また`main`や`master`ブランチはもうこのリポジトリでは使用していません。
12
+
13
+ > [!CAUTION]
14
+ > **Sisimai 4.25.14p11およびそれ以前のバージョンには 正規表現に関する脆弱性
15
+ > [ReDoS: CVE-2022-4891](https://jvndb.jvn.jp/ja/contents/2022/JVNDB-2022-005663.html)があります。
16
+ > 該当するバージョンをお使いの場合はv4.25.14p12以降へアップグレードしてください。**
17
+
18
+ > [!WARNING]
19
+ > Sisimai 5はRuby 2.4以上が必要です。インストール/アップグレードを実行する前に`ruby -v`コマンドで
20
+ > システムに入っているRubyのバージョンを確認してください。
21
+
10
22
  - [**README(English)**](README.md)
11
23
  - [シシマイ? | What is Sisimai](#what-is-sisimai)
12
24
  - [主な特徴的機能 | Key features](#key-features)
@@ -68,7 +80,7 @@ Sisimaiの動作環境についての詳細は
68
80
 
69
81
  * [Ruby 2.1.0 or later](http://www.ruby-lang.org/)
70
82
  * [__Oj | The fastest JSON parser and object serializer__](https://rubygems.org/gems/oj)
71
- * Also works on [JRuby 9.0.4.0 or later](http://jruby.org)
83
+ * Also works on [JRuby 9.0.4.0 - 9.1.17.0](http://jruby.org)
72
84
  * [__JrJackson | A mostly native JRuby wrapper for the java jackson json processor jar__](https://rubygems.org/gems/jrjackson)
73
85
 
74
86
  Install
@@ -77,10 +89,10 @@ Install
77
89
 
78
90
  ```shell
79
91
  $ sudo gem install sisimai
80
- Fetching: sisimai-4.25.5.gem (100%)
81
- Successfully installed sisimai-4.25.5
82
- Parsing documentation for sisimai-4.25.5
83
- Installing ri documentation for sisimai-4.25.5
92
+ Fetching: sisimai-4.25.17.gem (100%)
93
+ Successfully installed sisimai-4.25.17
94
+ Parsing documentation for sisimai-4.25.17
95
+ Installing ri documentation for sisimai-4.25.17
84
96
  Done installing documentation for sisimai after 6 seconds
85
97
  1 gem installed
86
98
  ```
@@ -96,8 +108,8 @@ gem install bundle rake rspec coveralls
96
108
  ...
97
109
  4 gems installed
98
110
  bundle exec rake install
99
- sisimai 4.25.5 built to pkg/sisimai-4.25.5.gem.
100
- sisimai (4.25.5) installed.
111
+ sisimai 4.25.17 built to pkg/sisimai-4.25.17.gem.
112
+ sisimai (4.25.17) installed.
101
113
  ```
102
114
 
103
115
  Usage
@@ -214,8 +226,9 @@ Differences between Ruby version and Perl version
214
226
 
215
227
  | 機能 | Ruby version | Perl version |
216
228
  |---------------------------------------------|----------------|---------------|
217
- | 動作環境 | Ruby 2.1 - 2.6 | Perl 5.10 - |
218
- | | JRuby 9.0.4.0- | |
229
+ | 動作環境 | Ruby 2.1 - 3.3 | Perl 5.10 - |
230
+ | | JRuby 9.0.4.0 | |
231
+ | | - 9.1.17.0 | |
219
232
  | 解析精度の割合(2000通のメール)[1] | 1.00 | 1.00 |
220
233
  | メール解析速度(1000通のメール) | 2.22秒[2] | 1.35秒 |
221
234
  | インストール方法 | gem install | cpanm, cpm |
@@ -253,12 +266,13 @@ Other Information
253
266
  Related sites
254
267
  -------------------------------------------------------------------------------
255
268
  * __@libsisimai__ | [Sisimai on Twitter (@libsisimai)](https://twitter.com/libsisimai)
256
- * __libSISIMAI.ORG__ | [Sisimai | The successor to bounceHammer, Library to parse bounce mails](https://libsisimai.org/)
269
+ * __LIBSISIMAI.ORG__ | [SISIMAI | MAIL ANALYZING INTERFACE | DECODING BOUNCES, BETTER AND FASTER.](https://libsisimai.org/)
257
270
  * __Sisimai Blog__ | [blog.libsisimai.org](http://blog.libsisimai.org/)
258
271
  * __Facebook Page__ | [facebook.com/libsisimai](https://www.facebook.com/libsisimai/)
259
272
  * __GitHub__ | [github.com/sisimai/rb-sisimai](https://github.com/sisimai/rb-sisimai)
260
273
  * __RubyGems.org__ | [rubygems.org/gems/sisimai](https://rubygems.org/gems/sisimai)
261
- * __Perl verson__ | [Perl version of Sisimai](https://github.com/sisimai/p5-sisimai)
274
+ * __Perl version__ | [Perl version of Sisimai](https://github.com/sisimai/p5-sisimai)
275
+ * __Go version__ | [Go version of Sisimai 5](https://github.com/sisimai/go-sisimai)
262
276
  * __Fixtures__ | [set-of-emails - Sample emails for "make test"](https://github.com/sisimai/set-of-emails)
263
277
 
264
278
  See also
@@ -276,7 +290,7 @@ Author
276
290
 
277
291
  Copyright
278
292
  ===============================================================================
279
- Copyright (C) 2015-2022 azumakuniyuki, All Rights Reserved.
293
+ Copyright (C) 2015-2025 azumakuniyuki, All Rights Reserved.
280
294
 
281
295
  License
282
296
  ===============================================================================
data/README.md CHANGED
@@ -2,11 +2,24 @@
2
2
 
3
3
  [![License](https://img.shields.io/badge/license-BSD%202--Clause-orange.svg)](https://github.com/sisimai/rb-sisimai/blob/master/LICENSE)
4
4
  [![Coverage Status](https://img.shields.io/coveralls/sisimai/rb-sisimai.svg)](https://coveralls.io/r/sisimai/rb-sisimai)
5
- [![Build Status](https://travis-ci.org/sisimai/rb-sisimai.svg?branch=master)](https://travis-ci.org/sisimai/rb-sisimai)
6
- [![Codacy Badge](https://api.codacy.com/project/badge/grade/38340177e6284a65be69c0c7c3dc2b58)](https://www.codacy.com/app/azumakuniyuki/rb-sisimai)
7
- [![Ruby](https://img.shields.io/badge/ruby-v2.1.0--v2.6.0-red.svg)](https://www.ruby-lang.org/)
5
+ [![Ruby](https://img.shields.io/badge/ruby-v2.1.0--v3.3.0-red.svg)](https://www.ruby-lang.org/)
8
6
  [![Gem Version](https://badge.fury.io/rb/sisimai.svg)](https://badge.fury.io/rb/sisimai)
9
7
 
8
+ > [!IMPORTANT]
9
+ > **The default branch of this repository is [5-stable](https://github.com/sisimai/rb-sisimai/tree/5-stable)
10
+ > (Sisimai 5) since 2nd February 2024.**
11
+ > If you want to clone the old version, see the [4-stable](https://github.com/sisimai/rb-sisimai/tree/4-stable)
12
+ > branch instead. We have moved away from using both the `main` and `master` branches in our development process.
13
+
14
+ > [!CAUTION]
15
+ > **Sisimai versions 4.25.14p11 and earlier contain a regular expression vulnerability
16
+ > [ReDoS: CVE-2022-4891](https://nvd.nist.gov/vuln/detail/CVE-2022-4891).
17
+ > If you are using one of these versions, please upgrade to v4.25.14p12 or later.**
18
+
19
+ > [!WARNING]
20
+ > Sisimai 5 requires Ruby 2.4 or later. Check the version of Ruby in your system before installing/upgrading
21
+ > by `ruby -v` command.
22
+
10
23
  - [**README-JA(日本語)**](README-JA.md)
11
24
  - [What is Sisimai](#what-is-sisimai)
12
25
  - [Key features](#key-features)
@@ -73,7 +86,7 @@ More details about system requirements are available at
73
86
 
74
87
  * [Ruby 2.1.0 or later](http://www.ruby-lang.org/)
75
88
  * [__Oj | The fastest JSON parser and object serializer__](https://rubygems.org/gems/oj)
76
- * Also works on [JRuby 9.0.4.0 or later](http://jruby.org)
89
+ * Also works on [JRuby 9.0.4.0 - 9.1.17.0](http://jruby.org)
77
90
  * [__JrJackson | A mostly native JRuby wrapper for the java jackson json processor jar__](https://rubygems.org/gems/jrjackson)
78
91
 
79
92
  Install
@@ -82,10 +95,10 @@ Install
82
95
 
83
96
  ```shell
84
97
  $ sudo gem install sisimai
85
- Fetching: sisimai-4.25.5.gem (100%)
86
- Successfully installed sisimai-4.25.5
87
- Parsing documentation for sisimai-4.25.5
88
- Installing ri documentation for sisimai-4.25.5
98
+ Fetching: sisimai-4.25.17.gem (100%)
99
+ Successfully installed sisimai-4.25.17
100
+ Parsing documentation for sisimai-4.25.17
101
+ Installing ri documentation for sisimai-4.25.17
89
102
  Done installing documentation for sisimai after 6 seconds
90
103
  1 gem installed
91
104
  ```
@@ -101,8 +114,8 @@ gem install bundle rake rspec coveralls
101
114
  ...
102
115
  4 gems installed
103
116
  bundle exec rake install
104
- sisimai 4.25.5 built to pkg/sisimai-4.25.5.gem.
105
- sisimai (4.25.5) installed.
117
+ sisimai 4.25.17 built to pkg/sisimai-4.25.17.gem.
118
+ sisimai (4.25.17) installed.
106
119
  ```
107
120
 
108
121
  Usage
@@ -219,8 +232,9 @@ and bounceHammer are available at
219
232
 
220
233
  | Features | Ruby version | Perl version |
221
234
  |---------------------------------------------|----------------|---------------|
222
- | System requirements | Ruby 2.1 - 2.6 | Perl 5.10 - |
223
- | | JRuby 9.0.4.0- | |
235
+ | System requirements | Ruby 2.1 - 3.3 | Perl 5.10 - |
236
+ | | JRuby 9.0.4.0 | |
237
+ | | - 9.1.17.0 | |
224
238
  | Analytical precision ratio(2000 emails)[1] | 1.00 | 1.00 |
225
239
  | The speed of parsing email(1000 emails) | 2.22s[2] | 1.35s |
226
240
  | How to install | gem install | cpanm, cpm |
@@ -260,12 +274,13 @@ Other Information
260
274
  Related Sites
261
275
  -------------------------------------------------------------------------------
262
276
  * __@libsisimai__ | [Sisimai on Twitter (@libsisimai)](https://twitter.com/libsisimai)
263
- * __libSISIMAI.ORG__ | [Sisimai | The successor to bounceHammer, Library to parse bounce mails](https://libsisimai.org/)
277
+ * __LIBSISIMAI.ORG__ | [SISIMAI | MAIL ANALYZING INTERFACE | DECODING BOUNCES, BETTER AND FASTER.](https://libsisimai.org/)
264
278
  * __Sisimai Blog__ | [blog.libsisimai.org](http://blog.libsisimai.org/)
265
279
  * __Facebook Page__ | [facebook.com/libsisimai](https://www.facebook.com/libsisimai/)
266
280
  * __GitHub__ | [github.com/sisimai/rb-sisimai](https://github.com/sisimai/rb-sisimai)
267
281
  * __RubyGems.org__ | [rubygems.org/gems/sisimai](https://rubygems.org/gems/sisimai)
268
- * __Perl verson__ | [Perl version of Sisimai](https://github.com/sisimai/p5-sisimai)
282
+ * __Perl version__ | [Perl version of Sisimai](https://github.com/sisimai/p5-sisimai)
283
+ * __Go version__ | [Go version of Sisimai 5](https://github.com/sisimai/go-sisimai)
269
284
  * __Fixtures__ | [set-of-emails - Sample emails for "make test"](https://github.com/sisimai/set-of-emails)
270
285
 
271
286
  See also
@@ -283,7 +298,7 @@ Author
283
298
 
284
299
  Copyright
285
300
  ===============================================================================
286
- Copyright (C) 2015-2022 azumakuniyuki, All Rights Reserved.
301
+ Copyright (C) 2015-2025 azumakuniyuki, All Rights Reserved.
287
302
 
288
303
  License
289
304
  ===============================================================================
@@ -52,8 +52,9 @@ module Sisimai::Lhost
52
52
  # http://postmaster.1and1.com/en/error-messages?ip=%1s
53
53
  v = dscontents[-1]
54
54
 
55
- if cv = e.match(/\A([^ ]+[@][^ ]+?)[:]?\z/)
56
- # general@example.eu
55
+ if cv = e.match(/\A\s*([^ ]+[@][^ ]+?)[:]?\z/)
56
+ # general@example.eu OR
57
+ # the line begin with 4 space characters, end with ":" like " neko@example.eu:"
57
58
  if v['recipient']
58
59
  # There are multiple recipient addresses in the message body.
59
60
  dscontents << Sisimai::Lhost.DELIVERYSTATUS
@@ -33,10 +33,9 @@ module Sisimai
33
33
  def initialize(data: '', **argvs)
34
34
  return nil if data.empty?
35
35
  param = {}
36
- email = data.scrub('?').gsub("\r\n", "\n")
36
+ email = data.scrub('?').gsub("\r\n", "\n").gsub("\r", "\n")
37
37
  thing = { 'from' => '','header' => {}, 'rfc822' => '', ds => [], 'catch' => nil }
38
38
 
39
- #methodargv = { 'data' => email, 'hook' => argvs[:hook] || nil }
40
39
  # 1. Load specified MTA modules
41
40
  [:load, :order].each do |e|
42
41
  # Order of MTA modules
@@ -7,8 +7,9 @@ module Sisimai
7
7
  class << self
8
8
  MessagesOf = {
9
9
  'mailboxfull' => %r/552 too much mail data/,
10
- 'toomanyconn' => %r/552 too many recipients/,
11
10
  'syntaxerror' => %r/(?:503 bad sequence of commands|504 command parameter not implemented)/,
11
+ 'toomanyconn' => %r/552 too many recipients/,
12
+ 'userunknown' => %r/550 unknown user/,
12
13
  }.freeze
13
14
 
14
15
  # Detect bounce reason from NTT DOCOMO
@@ -50,7 +51,11 @@ module Sisimai
50
51
  else
51
52
  # The value of "Diagnostic-Code:" field is not empty
52
53
  MessagesOf.each_key do |e|
53
- # Try to match the error message with message patterns defined in "MessagesOf"
54
+ # - The key name is a bounce reason name
55
+ # - https://github.com/sisimai/go-sisimai/issues/64
56
+ # - After March 12, 2025, if an error message contains "550 Unknown user", the bounce
57
+ # reason will be definitively "userunknown". This is because NTT DOCOMO no longer
58
+ # rejects emails via SMTP for domain-specific rejection or specified reception filters.
54
59
  next unless esmtperror =~ MessagesOf[e]
55
60
  reasontext = e
56
61
  break
@@ -1,4 +1,4 @@
1
1
  # Define the version number of Sisimai
2
2
  module Sisimai
3
- VERSION = '4.25.16'.freeze
3
+ VERSION = '4.25.17'.freeze
4
4
  end
@@ -0,0 +1 @@
1
+ Date: Tue, 06 Feb 2024 07:23:29 +0000
2
  boundary="--==_mimepart_65c1fd2aee126_72f949768";
1
3
  charset=UTF-8
2
- ---==_mimepart_65c1fd2aee126_72f949768
3
4
  boundary="--==_mimepart_65c1fd2aee07b_72f9497553";
4
5
  charset=UTF-8
5
- ---==_mimepart_65c1fd2aee07b_72f9497553
6
6
  charset=UTF-8
7
7
  The mail system
8
- ---==_mimepart_65c1fd2aee07b_72f9497553
9
8
  charset=UTF-8
10
- ---==_mimepart_65c1fd2aee07b_72f9497553--
11
- ---==_mimepart_65c1fd2aee126_72f949768--
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sisimai
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.25.16
4
+ version: 4.25.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - azumakuniyuki
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-05-16 00:00:00.000000000 Z
11
+ date: 2025-03-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -889,6 +889,7 @@ files:
889
889
  - set-of-emails/maildir/mac/lhost-yahoo-01.eml
890
890
  - set-of-emails/maildir/mac/lhost-yandex-01.eml
891
891
  - set-of-emails/maildir/mac/lhost-zoho-01.eml
892
+ - set-of-emails/maildir/mac/reported-from-nick4tech-san-01.eml
892
893
  - set-of-emails/maildir/mac/rfc3464-01.eml
893
894
  - set-of-emails/maildir/mac/rfc3834-01.eml
894
895
  - set-of-emails/maildir/mac/rhost-exchangeonline-01.eml