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.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/codecovio.yml +33 -0
  3. data/.github/workflows/rake-test.yml +54 -0
  4. data/ChangeLog.md +68 -1
  5. data/Gemfile +2 -0
  6. data/README-JA.md +224 -112
  7. data/README.md +56 -33
  8. data/lib/sisimai/arf.rb +24 -5
  9. data/lib/sisimai/fact.rb +46 -8
  10. data/lib/sisimai/lhost/amazonses.rb +0 -1
  11. data/lib/sisimai/lhost/amazonworkmail.rb +0 -1
  12. data/lib/sisimai/lhost/aol.rb +0 -1
  13. data/lib/sisimai/lhost/bigfoot.rb +0 -1
  14. data/lib/sisimai/lhost/domino.rb +0 -1
  15. data/lib/sisimai/lhost/exchange2007.rb +1 -1
  16. data/lib/sisimai/lhost/exim.rb +7 -16
  17. data/lib/sisimai/lhost/facebook.rb +0 -1
  18. data/lib/sisimai/lhost/googlegroups.rb +2 -1
  19. data/lib/sisimai/lhost/gsuite.rb +0 -1
  20. data/lib/sisimai/lhost/mailmarshalsmtp.rb +1 -1
  21. data/lib/sisimai/lhost/mailru.rb +8 -17
  22. data/lib/sisimai/lhost/messagelabs.rb +0 -1
  23. data/lib/sisimai/lhost/mfilter.rb +1 -1
  24. data/lib/sisimai/lhost/mxlogic.rb +8 -18
  25. data/lib/sisimai/lhost/office365.rb +1 -1
  26. data/lib/sisimai/lhost/outlook.rb +0 -1
  27. data/lib/sisimai/lhost/postfix.rb +0 -1
  28. data/lib/sisimai/lhost/receivingses.rb +0 -1
  29. data/lib/sisimai/lhost/sendgrid.rb +1 -3
  30. data/lib/sisimai/lhost/sendmail.rb +0 -1
  31. data/lib/sisimai/lhost/yandex.rb +0 -1
  32. data/lib/sisimai/message.rb +14 -5
  33. data/lib/sisimai/reason/authfailure.rb +1 -0
  34. data/lib/sisimai/reason/blocked.rb +3 -0
  35. data/lib/sisimai/reason/expired.rb +8 -0
  36. data/lib/sisimai/reason/filtered.rb +1 -0
  37. data/lib/sisimai/reason/mailboxfull.rb +4 -0
  38. data/lib/sisimai/reason/norelaying.rb +1 -0
  39. data/lib/sisimai/reason/rejected.rb +1 -1
  40. data/lib/sisimai/reason/securityerror.rb +1 -0
  41. data/lib/sisimai/reason/spamdetected.rb +1 -0
  42. data/lib/sisimai/reason/suspend.rb +5 -0
  43. data/lib/sisimai/reason/userunknown.rb +4 -1
  44. data/lib/sisimai/rfc5322.rb +120 -64
  45. data/lib/sisimai/rhost/google.rb +347 -71
  46. data/lib/sisimai/rhost/microsoft.rb +8 -0
  47. data/lib/sisimai/rhost/mimecast.rb +9 -2
  48. data/lib/sisimai/rhost/nttdocomo.rb +3 -3
  49. data/lib/sisimai/smtp/status.rb +3 -0
  50. data/lib/sisimai/version.rb +1 -1
  51. data/lib/sisimai.rb +12 -11
  52. data/set-of-emails/maildir/bsd/arf-26.eml +27 -0
  53. data/set-of-emails/maildir/bsd/lhost-sendmail-60.eml +85 -0
  54. data/set-of-emails/maildir/bsd/rhost-microsoft-04.eml +86 -0
  55. data/set-of-emails/maildir/bsd/rhost-microsoft-05.eml +83 -0
  56. metadata +13 -8
  57. 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 user entry'],
139
- [550, 'envelope blocked user domain entry'],
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/p5-sisimai/issues からご連絡ねがいます。
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/p5-sisimai/issues .
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/p5-sisimai/issues からご連絡ねがいます。
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
  #
@@ -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 = {
@@ -1,4 +1,4 @@
1
1
  # Define the version number of Sisimai
2
2
  module Sisimai
3
- VERSION = '5.0.0'.freeze
3
+ VERSION = '5.0.3'.freeze
4
4
  end
data/lib/sisimai.rb CHANGED
@@ -1,5 +1,6 @@
1
- # Sisimai is a Ruby module for analyzing RFC5322 bounce emails and generating structured data from
2
- # parsed results.
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 parsing mailbox/maidir
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 Parser options(delivered=false)
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] Parsed objects
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 parse each email file
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 parse mailbox/Maildir and dump as JSON
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 Parser options
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] Parsed data as JSON text
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
- # Parser engine list (MTA modules)
84
- # @return [Hash] Parser engine table
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.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-02-15 00:00:00.000000000 Z
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.2.29
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
-