sisimai 5.0.0-java → 5.0.3-java

Sign up to get free protection for your applications and to get access to all the features.
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
-