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 +4 -4
- data/ChangeLog.md +20 -0
- data/Makefile +3 -3
- data/README-JA.md +29 -15
- data/README.md +30 -15
- data/lib/sisimai/lhost/einsundeins.rb +3 -2
- data/lib/sisimai/message.rb +1 -2
- data/lib/sisimai/rhost/nttdocomo.rb +7 -2
- data/lib/sisimai/version.rb +1 -1
- data/set-of-emails/maildir/mac/reported-from-nick4tech-san-01.eml +1 -5
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 20678fdfbb58052138ae5b15ba230e2a6b6d5b2fe2e37b6f89ff2694baab56e7
|
4
|
+
data.tar.gz: d5718bc0b06e8bd2f8a40cbb10d5b1ed42e6901c152bb62a48beb28ce3d85351
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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 [
|
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 [
|
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 [
|
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
|
[](https://github.com/sisimai/rb-sisimai/blob/master/LICENSE)
|
4
4
|
[](https://coveralls.io/r/sisimai/rb-sisimai)
|
5
|
-
[](https://www.codacy.com/app/azumakuniyuki/rb-sisimai)
|
7
|
-
[](https://www.ruby-lang.org/)
|
5
|
+
[](https://www.ruby-lang.org/)
|
8
6
|
[](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
|
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.
|
81
|
-
Successfully installed sisimai-4.25.
|
82
|
-
Parsing documentation for sisimai-4.25.
|
83
|
-
Installing ri documentation for sisimai-4.25.
|
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.
|
100
|
-
sisimai (4.25.
|
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 -
|
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
|
-
*
|
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
|
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-
|
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
|
[](https://github.com/sisimai/rb-sisimai/blob/master/LICENSE)
|
4
4
|
[](https://coveralls.io/r/sisimai/rb-sisimai)
|
5
|
-
[](https://www.codacy.com/app/azumakuniyuki/rb-sisimai)
|
7
|
-
[](https://www.ruby-lang.org/)
|
5
|
+
[](https://www.ruby-lang.org/)
|
8
6
|
[](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
|
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.
|
86
|
-
Successfully installed sisimai-4.25.
|
87
|
-
Parsing documentation for sisimai-4.25.
|
88
|
-
Installing ri documentation for sisimai-4.25.
|
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.
|
105
|
-
sisimai (4.25.
|
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 -
|
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
|
-
*
|
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
|
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-
|
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
|
data/lib/sisimai/message.rb
CHANGED
@@ -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
|
-
#
|
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
|
data/lib/sisimai/version.rb
CHANGED
@@ -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.
|
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:
|
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
|