sisimai 5.0.0-java → 5.0.3-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.
- checksums.yaml +4 -4
- data/.github/workflows/codecovio.yml +33 -0
- data/.github/workflows/rake-test.yml +54 -0
- data/ChangeLog.md +68 -1
- data/Gemfile +2 -0
- data/README-JA.md +224 -112
- data/README.md +56 -33
- data/lib/sisimai/arf.rb +24 -5
- data/lib/sisimai/fact.rb +46 -8
- data/lib/sisimai/lhost/amazonses.rb +0 -1
- data/lib/sisimai/lhost/amazonworkmail.rb +0 -1
- data/lib/sisimai/lhost/aol.rb +0 -1
- data/lib/sisimai/lhost/bigfoot.rb +0 -1
- data/lib/sisimai/lhost/domino.rb +0 -1
- data/lib/sisimai/lhost/exchange2007.rb +1 -1
- data/lib/sisimai/lhost/exim.rb +7 -16
- data/lib/sisimai/lhost/facebook.rb +0 -1
- data/lib/sisimai/lhost/googlegroups.rb +2 -1
- data/lib/sisimai/lhost/gsuite.rb +0 -1
- data/lib/sisimai/lhost/mailmarshalsmtp.rb +1 -1
- data/lib/sisimai/lhost/mailru.rb +8 -17
- data/lib/sisimai/lhost/messagelabs.rb +0 -1
- data/lib/sisimai/lhost/mfilter.rb +1 -1
- data/lib/sisimai/lhost/mxlogic.rb +8 -18
- data/lib/sisimai/lhost/office365.rb +1 -1
- data/lib/sisimai/lhost/outlook.rb +0 -1
- data/lib/sisimai/lhost/postfix.rb +0 -1
- data/lib/sisimai/lhost/receivingses.rb +0 -1
- data/lib/sisimai/lhost/sendgrid.rb +1 -3
- data/lib/sisimai/lhost/sendmail.rb +0 -1
- data/lib/sisimai/lhost/yandex.rb +0 -1
- data/lib/sisimai/message.rb +14 -5
- data/lib/sisimai/reason/authfailure.rb +1 -0
- data/lib/sisimai/reason/blocked.rb +3 -0
- data/lib/sisimai/reason/expired.rb +8 -0
- data/lib/sisimai/reason/filtered.rb +1 -0
- data/lib/sisimai/reason/mailboxfull.rb +4 -0
- data/lib/sisimai/reason/norelaying.rb +1 -0
- data/lib/sisimai/reason/rejected.rb +1 -1
- data/lib/sisimai/reason/securityerror.rb +1 -0
- data/lib/sisimai/reason/spamdetected.rb +1 -0
- data/lib/sisimai/reason/suspend.rb +5 -0
- data/lib/sisimai/reason/userunknown.rb +4 -1
- data/lib/sisimai/rfc5322.rb +120 -64
- data/lib/sisimai/rhost/google.rb +347 -71
- data/lib/sisimai/rhost/microsoft.rb +8 -0
- data/lib/sisimai/rhost/mimecast.rb +9 -2
- data/lib/sisimai/rhost/nttdocomo.rb +3 -3
- data/lib/sisimai/smtp/status.rb +3 -0
- data/lib/sisimai/version.rb +1 -1
- data/lib/sisimai.rb +12 -11
- data/set-of-emails/maildir/bsd/arf-26.eml +27 -0
- data/set-of-emails/maildir/bsd/lhost-sendmail-60.eml +85 -0
- data/set-of-emails/maildir/bsd/rhost-microsoft-04.eml +86 -0
- data/set-of-emails/maildir/bsd/rhost-microsoft-05.eml +83 -0
- metadata +13 -8
- data/.travis.yml +0 -23
@@ -7,6 +7,7 @@ module Sisimai
|
|
7
7
|
class << self
|
8
8
|
MessagesOf = {
|
9
9
|
# https://community.mimecast.com/s/article/Mimecast-SMTP-Error-Codes-842605754
|
10
|
+
# https://community.mimecast.com/s/article/email-security-cloud-gateway-mimecast-smtp-error-codes
|
10
11
|
'authfailure' => [
|
11
12
|
# - The inbound message has been rejected because the originated IP address isn't list-
|
12
13
|
# ed in the published SPF records for the sending domain.
|
@@ -76,6 +77,12 @@ module Sisimai
|
|
76
77
|
[554, 'maximum email size exceeded'],
|
77
78
|
],
|
78
79
|
'networkerror' => [
|
80
|
+
# - The recipients' domains have MX records configured incorrectly
|
81
|
+
# - Check and remove any MX records that point to hostnames with outbound references.
|
82
|
+
# Only Inbound smart hosts are supported on MX records.
|
83
|
+
[451, 'the incorrect hostname used for inbounds'],
|
84
|
+
[550, 'the incorrect hostname used for inbounds'],
|
85
|
+
|
79
86
|
# - The message has too many "received headers" as it has been forwarded across multi-
|
80
87
|
# ple hops. Once 25 hops have been reached, the email is rejected.
|
81
88
|
# - Investigate the email addresses in the communication pairs, to see what forwarders
|
@@ -135,8 +142,8 @@ module Sisimai
|
|
135
142
|
|
136
143
|
# - A personal block policy is in place for the email address/domain.
|
137
144
|
# - Remove the email address/domain from the Managed Senders list.
|
138
|
-
[550, 'envelope blocked
|
139
|
-
[550, 'envelope blocked
|
145
|
+
[550, 'envelope blocked - user entry'],
|
146
|
+
[550, 'envelope blocked - user domain entry'],
|
140
147
|
[550, 'rejected by header-based manually blocked senders - block for manual block'],
|
141
148
|
|
142
149
|
# - A Block Sender Policy has been applied to reject emails based on the Header From or
|
@@ -93,15 +93,15 @@ module Sisimai
|
|
93
93
|
else
|
94
94
|
# Rejected by other SMTP commands: AUTH, MAIL,
|
95
95
|
# もしもこのブロックを通過するNTTドコモからのエラーメッセージを見つけたら
|
96
|
-
# https://github.com/sisimai/
|
96
|
+
# https://github.com/sisimai/rb-sisimai/issues からご連絡ねがいます。
|
97
97
|
#
|
98
98
|
# If you found a error message from mfsmax.docomo.ne.jp which passes this block,
|
99
|
-
# please open an issue at https://github.com/sisimai/
|
99
|
+
# please open an issue at https://github.com/sisimai/rb-sisimai/issues .
|
100
100
|
end
|
101
101
|
else
|
102
102
|
# Status: field is neither 5.0.0 nor values defined in code above
|
103
103
|
# もしもこのブロックを通過するNTTドコモからのエラーメッセージを見つけたら
|
104
|
-
# https://github.com/sisimai/
|
104
|
+
# https://github.com/sisimai/rb-sisimai/issues からご連絡ねがいます。
|
105
105
|
#
|
106
106
|
# If you found a error message from mfsmax.docomo.ne.jp which passes this block,
|
107
107
|
#
|
data/lib/sisimai/smtp/status.rb
CHANGED
@@ -593,6 +593,9 @@ module Sisimai
|
|
593
593
|
'5.7.25' => 'requireptr', # Reverse DNS validation failed
|
594
594
|
'5.7.26' => 'authfailure', # Multiple authentication checks failed
|
595
595
|
'5.7.27' => 'notaccept', # MX resource record of a destination host is Null MX: RFC7505
|
596
|
+
'5.7.28' => 'spamdetected', # The message appears to be part of a mail flood of similar abusive messages.
|
597
|
+
'5.7.29' => 'authfailure', # This status code may be returned when a message fails ARC validation.
|
598
|
+
'5.7.30' => 'securityerror', # REQUIRETLS support required
|
596
599
|
}.freeze
|
597
600
|
|
598
601
|
InternalCode = {
|
data/lib/sisimai/version.rb
CHANGED
data/lib/sisimai.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
|
-
# Sisimai is a
|
2
|
-
#
|
1
|
+
# Sisimai is a library that decodes complex and diverse bounce emails and outputs the results of
|
2
|
+
# the delivery failure, such as the reason for the bounce and the recipient email address, in
|
3
|
+
# structured data. It is also possible to output in JSON format.
|
3
4
|
require 'sisimai/version'
|
4
5
|
module Sisimai
|
5
6
|
class << self
|
@@ -12,15 +13,15 @@ module Sisimai
|
|
12
13
|
return Sisimai.rise(argv0, **argv1)
|
13
14
|
end
|
14
15
|
|
15
|
-
# Wrapper method for
|
16
|
+
# Wrapper method for decoding mailbox/maidir
|
16
17
|
# @param [String] argv0 Path to mbox or Maildir/
|
17
18
|
# @param [Hash] argv0 or Hash (decoded JSON)
|
18
19
|
# @param [IO] argv0 or STDIN object
|
19
|
-
# @param [Hash] argv1
|
20
|
+
# @param [Hash] argv1 Options for decoding(delivered=false)
|
20
21
|
# @options argv1 [Boolean] delivered true: Include "delivered" reason
|
21
22
|
# @options argv1 [Boolean] vacation true: Include "vacation" reason
|
22
23
|
# @options argv1 [Array] c___ Proc object to a callback method for the message and each file
|
23
|
-
# @return [Array]
|
24
|
+
# @return [Array] Decoded objects
|
24
25
|
# @return [nil] nil if the argument was wrong or an empty array
|
25
26
|
def rise(argv0, **argv1)
|
26
27
|
return nil unless argv0
|
@@ -33,7 +34,7 @@ module Sisimai
|
|
33
34
|
sisi = []
|
34
35
|
|
35
36
|
while r = mail.data.read do
|
36
|
-
# Read and
|
37
|
+
# Read and decode each email file
|
37
38
|
path = mail.data.path
|
38
39
|
args = { data: r, hook: c___[0], origin: path, delivered: argv1[:delivered], vacation: argv1[:vacation] }
|
39
40
|
fact = Sisimai::Fact.rise(**args) || []
|
@@ -56,15 +57,15 @@ module Sisimai
|
|
56
57
|
return sisi
|
57
58
|
end
|
58
59
|
|
59
|
-
# Wrapper method to
|
60
|
+
# Wrapper method to decode mailbox/Maildir and dump as JSON
|
60
61
|
# @param [String] argv0 Path to mbox or Maildir/
|
61
62
|
# @param [Hash] argv0 or Hash (decoded JSON)
|
62
63
|
# @param [IO] argv0 or STDIN object
|
63
|
-
# @param [Hash] argv1
|
64
|
+
# @param [Hash] argv1 Options for decoding
|
64
65
|
# @options argv1 [Integer] delivered true: Include "delivered" reason
|
65
66
|
# @options argv1 [Integer] vacation true: Include "vacation" reason
|
66
67
|
# @options argv1 [Lambda] hook Lambda object to be called back
|
67
|
-
# @return [String]
|
68
|
+
# @return [String] Decoded data as JSON text
|
68
69
|
def dump(argv0, **argv1)
|
69
70
|
return nil unless argv0
|
70
71
|
nyaan = Sisimai.rise(argv0, **argv1) || []
|
@@ -80,8 +81,8 @@ module Sisimai
|
|
80
81
|
return jsonstring
|
81
82
|
end
|
82
83
|
|
83
|
-
#
|
84
|
-
# @return [Hash]
|
84
|
+
# Decoding engine list (MTA modules)
|
85
|
+
# @return [Hash] Decoding engine table
|
85
86
|
def engine
|
86
87
|
table = {}
|
87
88
|
|
@@ -0,0 +1,27 @@
|
|
1
|
+
Date: Thu, 2 May 2024 17:48:55 +0000 (UTC)
|
2
|
+
From: example@icloud.com
|
3
|
+
Reply-To: example@icloud.com
|
4
|
+
To: opt-out-100731.e75std53hz8rnmy4r@example.org
|
5
|
+
Message-ID: <898B6152-36BC-4F4B-ABF8-2694A88CB5FC@icloud.com>
|
6
|
+
Subject: unsubscribe
|
7
|
+
MIME-Version: 1.0
|
8
|
+
Content-Type: text/plain; charset=UTF-8
|
9
|
+
Content-Transfer-Encoding: quoted-printable
|
10
|
+
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com;
|
11
|
+
s=1a1hai; t=1714672136; bh=63IYtxpNtEan90vzJQT9iqnMeWHy9rlx8iFLnco1rRc=;
|
12
|
+
h=Content-Type:From:Mime-Version:Date:Subject:Message-Id:To;
|
13
|
+
b=AoovfvadwxCx8Pp5yD62kw1AcKMQV32RhSrBsyw4qLr/CVsQo1tIh+xCUPdI7So9i
|
14
|
+
paxzn20YdVvHuP3f8CxT/q3x9WaQV3NDAmbbQumYwOpJk7yNXRkuWNjIlt6isZM0tb
|
15
|
+
FK8v+Tq3j3Va83mZ6OeR8ZjvfY8ImjewEOTEZ79sNxToaaHvRuDWRbzt4uaktRuL44
|
16
|
+
j1wEjiKxgy6f7bOC2XJyRaf41BtCm4V6TGtcBF9hOEMzn6LulaLgashs3yGQ92wkb9
|
17
|
+
OLSy1uP0iA4nj/qAM+QaauAFzmqYmqa9r7rUFCjqf01q4gvn1QfO4QVqiRQXiMXc8e
|
18
|
+
QPSqskbSbsIQA==
|
19
|
+
X-Proofpoint-GUID: fiybgv3DewxSxApGH8GnpeSw3OZld4ll
|
20
|
+
Auto-Submitted: auto-replied
|
21
|
+
X-Apple-Unsubscribe: true
|
22
|
+
X-Proofpoint-ORIG-GUID: fiybgv3DewxSxApGH8GnpeSw3OZld4ll
|
23
|
+
X-Virus-Status: Clean
|
24
|
+
|
25
|
+
Apple Mail sent this email to unsubscribe from the message =E2=80=9Cunsubsc=
|
26
|
+
ribe=E2=80=9D.
|
27
|
+
|
@@ -0,0 +1,85 @@
|
|
1
|
+
Return-Path: <>
|
2
|
+
X-Original-To: nekochan@email.example.jp
|
3
|
+
Delivered-To: mail@email.example.jp
|
4
|
+
Received: from mx311.ume.example.ne.jp (ip-192-0-2-25.us-east-1.compute.internal [192.0.2.25])
|
5
|
+
by mx1.email.example.jp (Postfix) with ESMTPS id Ln2ZS7LPwxzW4HMF
|
6
|
+
for <nekochan@email.example.jp>; Wed, 7 Feb 2024 23:34:45 +0900 (JST)
|
7
|
+
Received: from localhost (localhost)
|
8
|
+
by mx311.ume.example.ne.jp (8.16.1/8.16.1) id 3LGub1et091679;
|
9
|
+
Wed, 7 Feb 2024 23:34:45 +0900 (JST)
|
10
|
+
(envelope-from MAILER-DAEMON)
|
11
|
+
Date: Wed, 7 Feb 2024 23:34:45 +0900 (JST)
|
12
|
+
From: Mail Delivery Subsystem <MAILER-DAEMON@mx311.ume.example.ne.jp>
|
13
|
+
To: <nekochan@email.example.jp>
|
14
|
+
Message-Id: <202402072222.3LGub1et091679@mx311.ume.example.ne.jp>
|
15
|
+
MIME-Version: 1.0
|
16
|
+
Content-Type: multipart/report; report-type=delivery-status;
|
17
|
+
boundary="3LGub1et091679.1157497350/mx311.ume.example.ne.jp"
|
18
|
+
Subject: Returned mail: see transcript for details
|
19
|
+
Auto-Submitted: auto-generated (failure)
|
20
|
+
|
21
|
+
This is a MIME-encapsulated message
|
22
|
+
|
23
|
+
--3LGub1et091679.1157497350/mx311.ume.example.ne.jp
|
24
|
+
|
25
|
+
The original message was received at Wed, 7 Feb 2024 23:34:45 +0900 (JST)
|
26
|
+
from localhost [127.0.0.1]
|
27
|
+
|
28
|
+
----- The following addresses had permanent fatal errors -----
|
29
|
+
<kijitora-cat@google.example.com>
|
30
|
+
(reason: 550-5.7.26 The MAIL FROM domain [email.example.jp] has an SPF record with a hard fail)
|
31
|
+
|
32
|
+
----- Transcript of session follows -----
|
33
|
+
... while talking to gmail-smtp-in.l.google.com.:
|
34
|
+
>>> DATA
|
35
|
+
<<< 550-5.7.26 The MAIL FROM domain [email.example.jp] has an SPF record with a hard fail
|
36
|
+
<<< 550-5.7.26 policy (-all) but it fails to pass SPF checks with the ip:
|
37
|
+
<<< 550-5.7.26 [203.0.113.22]. To best protect our users from spam and phishing,
|
38
|
+
<<< 550-5.7.26 the message has been blocked. For instructions on setting up
|
39
|
+
<<< 550-5.7.26 authentication, go to
|
40
|
+
<<< 550 5.7.26 https://support.google.com/mail/answer/81126#authentication q2.22 - gsmtp
|
41
|
+
554 5.0.0 Service unavailable
|
42
|
+
|
43
|
+
--3LGub1et091679.1157497350/mx311.ume.example.ne.jp
|
44
|
+
Content-Type: message/delivery-status
|
45
|
+
|
46
|
+
Reporting-MTA: dns; mx311.ume.example.ne.jp
|
47
|
+
Arrival-Date: Wed, 7 Feb 2024 23:34:45 +0900 (JST)
|
48
|
+
|
49
|
+
Final-Recipient: RFC822; kijitora-cat@google.example.com
|
50
|
+
X-Actual-Recipient: rfc822; kijitora-cat@google.example.com
|
51
|
+
Action: failed
|
52
|
+
Status: 5.7.26
|
53
|
+
Remote-MTA: DNS; gmail-smtp-in.l.google.com
|
54
|
+
Diagnostic-Code: SMTP; 550-5.7.26 The MAIL FROM domain [email.example.jp] has an SPF record with a hard fail
|
55
|
+
Last-Attempt-Date: Wed, 7 Feb 2024 23:34:45 +0900 (JST)
|
56
|
+
|
57
|
+
--3LGub1et091679.1157497350/mx311.ume.example.ne.jp
|
58
|
+
Content-Type: message/rfc822
|
59
|
+
|
60
|
+
Return-Path: <nekochan@email.example.jp>
|
61
|
+
Received: from mx311.ume.example.ne.jp (localhost [127.0.0.1])
|
62
|
+
by mx311.ume.example.ne.jp (8.16.1/8.16.1) with ESMTP id ujmeV2ZG033926
|
63
|
+
for <kijitora-cat@google.example.com>; Wed, 7 Feb 2024 23:34:45 +0900 (JST)
|
64
|
+
(envelope-from nekochan@email.example.jp)
|
65
|
+
Received: (from kijitora@localhost)
|
66
|
+
by mx311.ume.example.ne.jp (8.16.1/8.16.1/Submit) id BJObadmZ060489
|
67
|
+
for kijitora-cat@google.example.com; Wed, 7 Feb 2024 23:34:45 +0900 (JST)
|
68
|
+
(envelope-from nekochan@email.example.jp)
|
69
|
+
Received: from relay1.email.example.jp (relay1.email.example.jp [192.168.168.168])
|
70
|
+
by mx311.ume.example.ne.jp (8.16.1/8.16.1) with ESMTPS id Mf73VCB9P8z4lM3b
|
71
|
+
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO)
|
72
|
+
for <neko@libsisimai.org>; Wed, 7 Feb 2024 23:34:45 +0900 (JST)
|
73
|
+
(envelope-from nekochan@email.example.jp)
|
74
|
+
Content-Type: text/plain; charset=us-ascii
|
75
|
+
Message-Id: <50ad190.20240207.2202@relay1.email.example.jp>
|
76
|
+
Content-Transfer-Encoding: 7bit
|
77
|
+
Subject: Nyaan
|
78
|
+
From: <nekochan@email.example.jp>
|
79
|
+
To: <neko@libsisimai.org>
|
80
|
+
Date: 7 Feb 2024 23:34:45 +0900
|
81
|
+
MIME-Version: 1.0
|
82
|
+
|
83
|
+
Nyaan?
|
84
|
+
|
85
|
+
--3LGub1et091679.1157497350/mx311.ume.example.ne.jp--
|
@@ -0,0 +1,86 @@
|
|
1
|
+
Return-Path: <>
|
2
|
+
X-Original-To: neko@example.jp
|
3
|
+
Delivered-To: return@example.jp
|
4
|
+
Received: from relay1.example.ne.jp (ip-10-25-26-27.ip-block.example.net [10.25.26.27])
|
5
|
+
by mx1.example.jp (Postfix) with ESMTPS id KF65BTjb2jzpq4Pk
|
6
|
+
for <neko@example.jp>; Thu, 29 Apr 2024 23:34:45 +0900 (JST)
|
7
|
+
Received: from localhost (localhost)
|
8
|
+
by relay1.example.ne.jp (8.17.2/8.17.2) id gWjKPD2i071354;
|
9
|
+
Thu, 29 Apr 2024 23:34:45 +0900 (JST)
|
10
|
+
(envelope-from MAILER-DAEMON)
|
11
|
+
MIME-Version: 1.0
|
12
|
+
Date: Thu, 29 Apr 2024 23:34:45 +0900 (JST)
|
13
|
+
From: Mail Delivery Subsystem <MAILER-DAEMON@relay1.example.ne.jp>
|
14
|
+
To: <neko@example.jp>
|
15
|
+
Message-Id: <20240429233445.gWjKPD2i071354@relay1.example.ne.jp>
|
16
|
+
Content-Type: multipart/report; report-type=delivery-status;
|
17
|
+
boundary="gWjKPD2i071354.1423881060/relay1.example.ne.jp"
|
18
|
+
Subject: Returned mail: see transcript for details
|
19
|
+
Auto-Submitted: auto-generated (failure)
|
20
|
+
|
21
|
+
This is a MIME-encapsulated message
|
22
|
+
|
23
|
+
--gWjKPD2i071354.1423881060/relay1.example.ne.jp
|
24
|
+
|
25
|
+
The original message was received at Thu, 29 Apr 2024 23:34:45 +0900 (JST)
|
26
|
+
from localhost [127.0.0.1]
|
27
|
+
|
28
|
+
----- The following addresses had permanent fatal errors -----
|
29
|
+
<pseudo-local-part-of-microsoft@outlook.com>
|
30
|
+
(reason: 550 5.7.509 Access denied, sending domain [EXAMPLE.JP] does not pass DMARC verification and has a D...E22] [JUTN0NNV051736.eop-eur22.prod.protection.outlook.com 2024-04-29T23:34:45.000Z K2TP4MV8R6ZF2XN2])
|
31
|
+
|
32
|
+
----- Transcript of session follows -----
|
33
|
+
... while talking to apc.olc.protection.outlook.com.:
|
34
|
+
>>> DATA
|
35
|
+
<<< 550 5.7.509 Access denied, sending domain [EXAMPLE.JP] does not pass DMARC verification and has a DMARC policy of reject. [7FQL1BDY0XZ5XGTW.JPNP222.PROD.OUTLOOK.COM 2024-04-29T23:34:45.000Z NG5X6YLY2QZK8T7B] [VB0JMRQKNLZPTQMN.eurprd06.prod.outlook.com 2024-04-29T23:34:45.000Z HTTZYWCWHTZK8F8N] [JUTN0NNV051736.eop-eur22.prod.protection.outlook.com 2024-04-29T23:34:45.000Z K2TP4MV8R6ZF2XN2]
|
36
|
+
554 5.0.0 Service unavailable
|
37
|
+
|
38
|
+
--gWjKPD2i071354.1423881060/relay1.example.ne.jp
|
39
|
+
Content-Type: message/delivery-status
|
40
|
+
|
41
|
+
Reporting-MTA: dns; relay1.example.ne.jp
|
42
|
+
Received-From-MTA: DNS; localhost
|
43
|
+
Arrival-Date: Thu, 29 Apr 2024 23:34:45 +0900 (JST)
|
44
|
+
|
45
|
+
Final-Recipient: RFC822; pseudo-local-part-of-microsoft@outlook.com
|
46
|
+
X-Actual-Recipient: rfc822; pseudo-local-part-of-microsoft@outlook.com
|
47
|
+
Action: failed
|
48
|
+
Status: 5.7.509
|
49
|
+
Remote-MTA: DNS; apc.olc.protection.outlook.com
|
50
|
+
Diagnostic-Code: SMTP; 550 5.7.509 Access denied, sending domain [EXAMPLE.JP] does not pass DMARC verification and has a DMARC policy of reject. [7FQL1BDY0XZ5XGTW.JPNP222.PROD.OUTLOOK.COM 2024-04-29T23:34:45.000Z NG5X6YLY2QZK8T7B] [VB0JMRQKNLZPTQMN.eurprd06.prod.outlook.com 2024-04-29T23:34:45.000Z HTTZYWCWHTZK8F8N] [JUTN0NNV051736.eop-eur22.prod.protection.outlook.com 2024-04-29T23:34:45.000Z K2TP4MV8R6ZF2XN2]
|
51
|
+
Last-Attempt-Date: Thu, 29 Apr 2024 23:34:45 +0900 (JST)
|
52
|
+
|
53
|
+
--gWjKPD2i071354.1423881060/relay1.example.ne.jp
|
54
|
+
Content-Type: message/rfc822
|
55
|
+
|
56
|
+
Return-Path: <neko@example.jp>
|
57
|
+
Received: from relay1.example.ne.jp (localhost [127.0.0.1])
|
58
|
+
by relay1.example.ne.jp (8.17.2/8.17.2) with ESMTP id YQKNBhqe049695
|
59
|
+
for <pseudo-local-part-of-microsoft@outlook.com>; Thu, 29 Apr 2024 23:34:45 +0900 (JST)
|
60
|
+
(envelope-from neko@example.jp)
|
61
|
+
Received: (from neko-nyaan-cat@localhost)
|
62
|
+
by relay1.example.ne.jp (8.17.2/8.17.2/Submit) id J05hAdU8018709
|
63
|
+
for pseudo-local-part-of-microsoft@outlook.com; Thu, 29 Apr 2024 23:34:45 +0900 (JST)
|
64
|
+
(envelope-from neko@example.jp)
|
65
|
+
Received: from relay0.example.jp (relay0.example.jp [192.0.2.25])
|
66
|
+
by relay1.example.ne.jp (8.17.2/8.17.2) with ESMTPS id Ufhljuhn061193
|
67
|
+
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO)
|
68
|
+
for <kijitora@example.co.jp>; Thu, 29 Apr 2024 23:34:45 +0900 (JST)
|
69
|
+
(envelope-from neko@example.jp)
|
70
|
+
Received: from MTA1 (unknown [10.9.8.7])
|
71
|
+
by relay0.example.jp (Postfix) with ESMTP id Mgt61KRzl7zjTNcc
|
72
|
+
for <kijitora@example.co.jp>; Thu, 29 Apr 2024 23:34:45 +0900 (JST)
|
73
|
+
From: <neko@example.jp>
|
74
|
+
To: "Kijitora, Cat" <kijitora@example.co.jp>
|
75
|
+
Reply-To: sironeko@cat.example.org
|
76
|
+
Date: 29 Apr 2024 23:34:45 +0900
|
77
|
+
Subject: Nyaaaaan
|
78
|
+
MIME-Version: 1.0
|
79
|
+
Content-Type: text/plain; charset=iso-2022-jp
|
80
|
+
Message-Id: <Mgt61KRzl7zjTNcc@relay0.example.jp>
|
81
|
+
Content-Transfer-Encoding: 8bit
|
82
|
+
|
83
|
+
Nyaan?
|
84
|
+
|
85
|
+
--gWjKPD2i071354.1423881060/relay1.example.ne.jp--
|
86
|
+
|
@@ -0,0 +1,83 @@
|
|
1
|
+
Return-Path: <>
|
2
|
+
X-Original-To: kijitora@example.jp
|
3
|
+
Delivered-To: return@example.jp
|
4
|
+
Received: from relay0.example.jp (relay0 [10.25.26.27])
|
5
|
+
by relay1.example.jp (Postfix) with ESMTPS id nhpzScP2kkzDgQ8L
|
6
|
+
for <kijitora@example.jp>; Thu, 9 May 2024 23:34:45 +0900 (JST)
|
7
|
+
Received: by relay0.example.jp (Postfix)
|
8
|
+
id 9ltCcYNCJ4zblqrq; Thu, 9 May 2024 23:34:45 +0900 (JST)
|
9
|
+
Date: Thu, 9 May 2024 23:34:45 +0900 (JST)
|
10
|
+
From: MAILER-DAEMON@relay0.example.jp (Mail Delivery System)
|
11
|
+
To: kijitora@example.jp
|
12
|
+
Subject: Undelivered Mail Returned to Sender
|
13
|
+
Message-Id: <9ltCcYNCJ4zblqrq@relay0.example.jp>
|
14
|
+
Auto-Submitted: auto-replied
|
15
|
+
MIME-Version: 1.0
|
16
|
+
Content-Type: multipart/report; report-type=delivery-status;
|
17
|
+
boundary="WpZGzDpcy1zw5NGv.1098352336/relay0.example.jp"
|
18
|
+
|
19
|
+
This is a MIME-encapsulated message.
|
20
|
+
|
21
|
+
--WpZGzDpcy1zw5NGv.1098352336/relay0.example.jp
|
22
|
+
Content-Description: Notification
|
23
|
+
Content-Type: text/plain; charset=us-ascii
|
24
|
+
|
25
|
+
This is the mail system at host relay0.example.jp.
|
26
|
+
|
27
|
+
I'm sorry to have to inform you that your message could not
|
28
|
+
be delivered to one or more recipients. It's attached below.
|
29
|
+
|
30
|
+
For further assistance, please send mail to postmaster.
|
31
|
+
|
32
|
+
If you do so, please include this problem report. You can
|
33
|
+
delete your own text from the attached returned message.
|
34
|
+
|
35
|
+
The mail system
|
36
|
+
|
37
|
+
<pseudo-local-part-of-microsoft@outlook.com>: host
|
38
|
+
outlook-com.olc.protection.outlook.com[52.101.68.1] said: 451 4.7.650 The
|
39
|
+
mail server [192.0.2.25] has been temporarily rate limited due to IP
|
40
|
+
reputation. For e-mail delivery information, see
|
41
|
+
https://postmaster.live.com (S3113)
|
42
|
+
[5NY1SSJFSTZJRJBG.eurprd02.prod.outlook.com 2024-05-09T23:34:45.000Z
|
43
|
+
GLXTWVLGZHZNHVXY] (in reply to MAIL FROM command)
|
44
|
+
|
45
|
+
--WpZGzDpcy1zw5NGv.1098352336/relay0.example.jp
|
46
|
+
Content-Description: Delivery report
|
47
|
+
Content-Type: message/delivery-status
|
48
|
+
|
49
|
+
Reporting-MTA: dns; relay0.example.jp
|
50
|
+
X-Postfix-Queue-ID: WpZGzDpcy1zw5NGv
|
51
|
+
X-Postfix-Sender: rfc822; kijitora@example.jp
|
52
|
+
Arrival-Date: Thu, 9 May 2024 23:34:45 +0900 (JST)
|
53
|
+
|
54
|
+
Final-Recipient: rfc822; pseudo-local-part-of-microsoft@outlook.com
|
55
|
+
Original-Recipient: rfc822;pseudo-local-part-of-microsoft@outlook.com
|
56
|
+
Action: failed
|
57
|
+
Status: 4.7.650
|
58
|
+
Remote-MTA: dns; outlook-com.olc.protection.outlook.com
|
59
|
+
Diagnostic-Code: smtp; 451 4.7.650 The mail server [192.0.2.25] has been
|
60
|
+
temporarily rate limited due to IP reputation. For e-mail delivery
|
61
|
+
information, see https://postmaster.live.com (S3113)
|
62
|
+
[5NY1SSJFSTZJRJBG.eurprd02.prod.outlook.com 2024-05-09T23:34:45.000Z
|
63
|
+
GLXTWVLGZHZNHVXY]
|
64
|
+
|
65
|
+
--WpZGzDpcy1zw5NGv.1098352336/relay0.example.jp
|
66
|
+
Content-Description: Undelivered Message
|
67
|
+
Content-Type: message/rfc822
|
68
|
+
|
69
|
+
Return-Path: <kijitora@example.jp>
|
70
|
+
Received: from mailhub1.example.jp (unknown [10.9.8.7])
|
71
|
+
by relay0.example.jp (Postfix) with ESMTP id WpZGzDpcy1zw5NGv
|
72
|
+
for <pseudo-local-part-of-microsoft@outlook.com>; Thu, 9 May 2024 23:34:45 +0900 (JST)
|
73
|
+
From: <kijitora@example.jp>
|
74
|
+
To: <pseudo-local-part-of-microsoft@outlook.com>
|
75
|
+
Date: 9 May 2024 23:34:45 +0900
|
76
|
+
Message-Id: <WpZGzDpcy1zw5NGv@relay0.example.jp>
|
77
|
+
Subject: Nyaan
|
78
|
+
MIME-Version: 1.0
|
79
|
+
Content-Type: text/plain; charset=iso-2022-jp
|
80
|
+
|
81
|
+
Nyaan?
|
82
|
+
|
83
|
+
--WpZGzDpcy1zw5NGv.1098352336/relay0.example.jp--
|
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: 5.0.
|
4
|
+
version: 5.0.3
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- azumakuniyuki
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-05-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -17,8 +17,8 @@ dependencies:
|
|
17
17
|
- !ruby/object:Gem::Version
|
18
18
|
version: '1.8'
|
19
19
|
name: bundler
|
20
|
-
prerelease: false
|
21
20
|
type: :development
|
21
|
+
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
@@ -31,8 +31,8 @@ dependencies:
|
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: '10.0'
|
33
33
|
name: rake
|
34
|
-
prerelease: false
|
35
34
|
type: :development
|
35
|
+
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ">="
|
@@ -45,8 +45,8 @@ dependencies:
|
|
45
45
|
- !ruby/object:Gem::Version
|
46
46
|
version: '5.0'
|
47
47
|
name: minitest
|
48
|
-
prerelease: false
|
49
48
|
type: :development
|
49
|
+
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - ">="
|
@@ -62,8 +62,8 @@ dependencies:
|
|
62
62
|
- !ruby/object:Gem::Version
|
63
63
|
version: 0.3.8
|
64
64
|
name: jrjackson
|
65
|
-
prerelease: false
|
66
65
|
type: :runtime
|
66
|
+
prerelease: false
|
67
67
|
version_requirements: !ruby/object:Gem::Requirement
|
68
68
|
requirements:
|
69
69
|
- - "~>"
|
@@ -80,9 +80,10 @@ executables: []
|
|
80
80
|
extensions: []
|
81
81
|
extra_rdoc_files: []
|
82
82
|
files:
|
83
|
+
- ".github/workflows/codecovio.yml"
|
84
|
+
- ".github/workflows/rake-test.yml"
|
83
85
|
- ".gitignore"
|
84
86
|
- ".rubocop.yml"
|
85
|
-
- ".travis.yml"
|
86
87
|
- ANALYTICAL-PRECISION
|
87
88
|
- Benchmarks.mk
|
88
89
|
- CONTRIBUTING
|
@@ -250,6 +251,7 @@ files:
|
|
250
251
|
- set-of-emails/maildir/bsd/arf-23.eml
|
251
252
|
- set-of-emails/maildir/bsd/arf-24.eml
|
252
253
|
- set-of-emails/maildir/bsd/arf-25.eml
|
254
|
+
- set-of-emails/maildir/bsd/arf-26.eml
|
253
255
|
- set-of-emails/maildir/bsd/lhost-activehunter-01.eml
|
254
256
|
- set-of-emails/maildir/bsd/lhost-activehunter-02.eml
|
255
257
|
- set-of-emails/maildir/bsd/lhost-amavis-01.eml
|
@@ -646,6 +648,7 @@ files:
|
|
646
648
|
- set-of-emails/maildir/bsd/lhost-sendmail-57.eml
|
647
649
|
- set-of-emails/maildir/bsd/lhost-sendmail-58.eml
|
648
650
|
- set-of-emails/maildir/bsd/lhost-sendmail-59.eml
|
651
|
+
- set-of-emails/maildir/bsd/lhost-sendmail-60.eml
|
649
652
|
- set-of-emails/maildir/bsd/lhost-surfcontrol-01.eml
|
650
653
|
- set-of-emails/maildir/bsd/lhost-surfcontrol-02.eml
|
651
654
|
- set-of-emails/maildir/bsd/lhost-surfcontrol-03.eml
|
@@ -750,6 +753,8 @@ files:
|
|
750
753
|
- set-of-emails/maildir/bsd/rhost-microsoft-01.eml
|
751
754
|
- set-of-emails/maildir/bsd/rhost-microsoft-02.eml
|
752
755
|
- set-of-emails/maildir/bsd/rhost-microsoft-03.eml
|
756
|
+
- set-of-emails/maildir/bsd/rhost-microsoft-04.eml
|
757
|
+
- set-of-emails/maildir/bsd/rhost-microsoft-05.eml
|
753
758
|
- set-of-emails/maildir/bsd/rhost-mimecast-01.eml
|
754
759
|
- set-of-emails/maildir/bsd/rhost-mimecast-02.eml
|
755
760
|
- set-of-emails/maildir/bsd/rhost-nttdocomo-01.eml
|
@@ -951,7 +956,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
951
956
|
- !ruby/object:Gem::Version
|
952
957
|
version: '0'
|
953
958
|
requirements: []
|
954
|
-
rubygems_version: 3.
|
959
|
+
rubygems_version: 3.3.26
|
955
960
|
signing_key:
|
956
961
|
specification_version: 4
|
957
962
|
summary: Mail Analyzing Interface
|
data/.travis.yml
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
rvm:
|
3
|
-
# See http://rubies.travis-ci.org for Precompiled Ruby Versions
|
4
|
-
# - 2.1.1
|
5
|
-
# - 2.2.10
|
6
|
-
# - 2.3.0
|
7
|
-
- 2.4.9
|
8
|
-
# - 2.5.0
|
9
|
-
- 2.6.6
|
10
|
-
- 2.7.0
|
11
|
-
# - jruby-9.0.5.0
|
12
|
-
# - jruby-9.1.9.0
|
13
|
-
before_install:
|
14
|
-
script:
|
15
|
-
- make user-test
|
16
|
-
sudo: false
|
17
|
-
notifications:
|
18
|
-
recipients:
|
19
|
-
- azumakuniyuki+travis-ci.org@gmail.com
|
20
|
-
email:
|
21
|
-
on_success: change
|
22
|
-
on_failure: always
|
23
|
-
|