sisimai 5.4.1-java → 5.6.0-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 (150) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/codecovio.yml +1 -1
  3. data/.github/workflows/rake-test.yml +1 -1
  4. data/ChangeLog.md +56 -0
  5. data/LICENSE +1 -1
  6. data/Makefile +2 -4
  7. data/README-JA.md +29 -23
  8. data/README.md +30 -24
  9. data/lib/sisimai/address.rb +92 -44
  10. data/lib/sisimai/arf.rb +7 -8
  11. data/lib/sisimai/datetime.rb +2 -2
  12. data/lib/sisimai/fact/json.rb +1 -2
  13. data/lib/sisimai/fact/yaml.rb +1 -2
  14. data/lib/sisimai/fact.rb +76 -36
  15. data/lib/sisimai/lda.rb +2 -2
  16. data/lib/sisimai/lhost/activehunter.rb +4 -5
  17. data/lib/sisimai/lhost/amazonses.rb +4 -5
  18. data/lib/sisimai/lhost/apachejames.rb +2 -2
  19. data/lib/sisimai/lhost/biglobe.rb +6 -6
  20. data/lib/sisimai/lhost/courier.rb +7 -7
  21. data/lib/sisimai/lhost/domino.rb +6 -6
  22. data/lib/sisimai/lhost/dragonfly.rb +5 -5
  23. data/lib/sisimai/lhost/einsundeins.rb +5 -5
  24. data/lib/sisimai/lhost/exchange2003.rb +7 -7
  25. data/lib/sisimai/lhost/exchange2007.rb +5 -5
  26. data/lib/sisimai/lhost/exim.rb +13 -15
  27. data/lib/sisimai/lhost/ezweb.rb +3 -2
  28. data/lib/sisimai/lhost/fml.rb +9 -9
  29. data/lib/sisimai/lhost/gmail.rb +9 -9
  30. data/lib/sisimai/lhost/gmx.rb +3 -3
  31. data/lib/sisimai/lhost/googlegroups.rb +6 -7
  32. data/lib/sisimai/lhost/googleworkspace.rb +5 -6
  33. data/lib/sisimai/lhost/imailserver.rb +4 -4
  34. data/lib/sisimai/lhost/kddi.rb +4 -4
  35. data/lib/sisimai/lhost/mailfoundry.rb +3 -3
  36. data/lib/sisimai/lhost/{mailmarshalsmtp.rb → mailmarshal.rb} +5 -5
  37. data/lib/sisimai/lhost/messagingserver.rb +8 -8
  38. data/lib/sisimai/lhost/mfilter.rb +8 -4
  39. data/lib/sisimai/lhost/mimecast.rb +105 -0
  40. data/lib/sisimai/lhost/notes.rb +5 -5
  41. data/lib/sisimai/lhost/opensmtpd.rb +5 -5
  42. data/lib/sisimai/lhost/postfix.rb +38 -32
  43. data/lib/sisimai/lhost/qmail.rb +11 -11
  44. data/lib/sisimai/lhost/sendmail.rb +13 -13
  45. data/lib/sisimai/lhost/{interscanmss.rb → trendmicro.rb} +8 -9
  46. data/lib/sisimai/lhost/v5sendmail.rb +7 -7
  47. data/lib/sisimai/lhost/verizon.rb +3 -3
  48. data/lib/sisimai/lhost/x1.rb +7 -4
  49. data/lib/sisimai/lhost/x2.rb +40 -12
  50. data/lib/sisimai/lhost/x3.rb +3 -3
  51. data/lib/sisimai/lhost/x6.rb +2 -2
  52. data/lib/sisimai/lhost/zoho.rb +5 -5
  53. data/lib/sisimai/lhost.rb +18 -17
  54. data/lib/sisimai/mail/maildir.rb +4 -4
  55. data/lib/sisimai/mail/mbox.rb +4 -4
  56. data/lib/sisimai/mail/memory.rb +1 -1
  57. data/lib/sisimai/mail/stdin.rb +2 -2
  58. data/lib/sisimai/message.rb +36 -34
  59. data/lib/sisimai/order.rb +5 -4
  60. data/lib/sisimai/reason/authfailure.rb +10 -14
  61. data/lib/sisimai/reason/badreputation.rb +8 -8
  62. data/lib/sisimai/reason/blocked.rb +58 -83
  63. data/lib/sisimai/reason/contenterror.rb +15 -10
  64. data/lib/sisimai/reason/{mesgtoobig.rb → emailtoolarge.rb} +23 -26
  65. data/lib/sisimai/reason/expired.rb +17 -24
  66. data/lib/sisimai/reason/failedstarttls.rb +1 -1
  67. data/lib/sisimai/reason/filtered.rb +14 -18
  68. data/lib/sisimai/reason/hasmoved.rb +3 -2
  69. data/lib/sisimai/reason/hostunknown.rb +18 -21
  70. data/lib/sisimai/reason/mailboxfull.rb +28 -50
  71. data/lib/sisimai/reason/mailererror.rb +1 -1
  72. data/lib/sisimai/reason/networkerror.rb +17 -17
  73. data/lib/sisimai/reason/norelaying.rb +20 -20
  74. data/lib/sisimai/reason/notaccept.rb +7 -10
  75. data/lib/sisimai/reason/notcompliantrfc.rb +6 -10
  76. data/lib/sisimai/reason/policyviolation.rb +12 -28
  77. data/lib/sisimai/reason/ratelimited.rb +62 -0
  78. data/lib/sisimai/reason/rejected.rb +46 -58
  79. data/lib/sisimai/reason/requireptr.rb +14 -26
  80. data/lib/sisimai/reason/securityerror.rb +14 -20
  81. data/lib/sisimai/reason/spamdetected.rb +52 -102
  82. data/lib/sisimai/reason/suspend.rb +27 -24
  83. data/lib/sisimai/reason/systemerror.rb +20 -24
  84. data/lib/sisimai/reason/systemfull.rb +2 -2
  85. data/lib/sisimai/reason/userunknown.rb +82 -114
  86. data/lib/sisimai/reason/vacation.rb +1 -1
  87. data/lib/sisimai/reason/virusdetected.rb +7 -9
  88. data/lib/sisimai/reason.rb +26 -26
  89. data/lib/sisimai/rfc1123.rb +58 -18
  90. data/lib/sisimai/rfc1894.rb +6 -8
  91. data/lib/sisimai/rfc2045.rb +25 -13
  92. data/lib/sisimai/rfc3464/thirdparty.rb +2 -3
  93. data/lib/sisimai/rfc3464.rb +6 -6
  94. data/lib/sisimai/rfc3834.rb +18 -8
  95. data/lib/sisimai/rfc5322.rb +9 -9
  96. data/lib/sisimai/rfc791.rb +2 -2
  97. data/lib/sisimai/rhost/aol.rb +4 -1
  98. data/lib/sisimai/rhost/apple.rb +15 -11
  99. data/lib/sisimai/rhost/cloudflare.rb +2 -0
  100. data/lib/sisimai/rhost/cox.rb +31 -25
  101. data/lib/sisimai/rhost/facebook.rb +24 -18
  102. data/lib/sisimai/rhost/franceptt.rb +92 -38
  103. data/lib/sisimai/rhost/godaddy.rb +34 -7
  104. data/lib/sisimai/rhost/google.rb +69 -70
  105. data/lib/sisimai/rhost/gsuite.rb +1 -1
  106. data/lib/sisimai/rhost/iua.rb +1 -1
  107. data/lib/sisimai/rhost/kddi.rb +1 -1
  108. data/lib/sisimai/rhost/messagelabs.rb +160 -2
  109. data/lib/sisimai/rhost/microsoft.rb +154 -107
  110. data/lib/sisimai/rhost/mimecast.rb +64 -55
  111. data/lib/sisimai/rhost/nttdocomo.rb +70 -90
  112. data/lib/sisimai/rhost/outlook.rb +1 -1
  113. data/lib/sisimai/rhost/spectrum.rb +8 -8
  114. data/lib/sisimai/rhost/tencent.rb +12 -13
  115. data/lib/sisimai/rhost/yahooinc.rb +9 -10
  116. data/lib/sisimai/rhost/zoho.rb +72 -0
  117. data/lib/sisimai/rhost.rb +4 -3
  118. data/lib/sisimai/smtp/command.rb +4 -2
  119. data/lib/sisimai/smtp/reply.rb +11 -4
  120. data/lib/sisimai/smtp/status.rb +67 -98
  121. data/lib/sisimai/smtp/transcript.rb +3 -3
  122. data/lib/sisimai/string.rb +4 -23
  123. data/lib/sisimai/version.rb +1 -1
  124. data/lib/sisimai.rb +1 -1
  125. data/set-of-emails/maildir/bsd/lhost-exim-56.eml +40 -40
  126. data/set-of-emails/maildir/bsd/lhost-mfilter-05.eml +41 -0
  127. data/set-of-emails/maildir/bsd/lhost-mimecast-01.eml +46 -0
  128. data/set-of-emails/maildir/bsd/lhost-mimecast-02.eml +59 -0
  129. data/set-of-emails/maildir/bsd/lhost-postfix-79.eml +81 -0
  130. data/set-of-emails/maildir/bsd/lhost-postfix-80.eml +84 -0
  131. data/set-of-emails/maildir/bsd/lhost-x1-03.eml +26 -0
  132. data/set-of-emails/maildir/bsd/lhost-x1-04.eml +45 -0
  133. data/set-of-emails/maildir/bsd/lhost-x2-07.eml +30 -0
  134. data/set-of-emails/maildir/bsd/rfc3464-66.eml +170 -0
  135. data/set-of-emails/maildir/bsd/rfc3834-06.eml +59 -0
  136. data/set-of-emails/maildir/bsd/rhost-zoho-01.eml +88 -0
  137. data/set-of-emails/maildir/bsd/rhost-zoho-02.eml +86 -0
  138. data/set-of-emails/maildir/bsd/rhost-zoho-03.eml +87 -0
  139. data/set-of-emails/maildir/bsd/rhost-zoho-04.eml +86 -0
  140. data/set-of-emails/maildir/not/rb-issue-368-bug.eml +39 -0
  141. data/sisimai-java.gemspec +1 -1
  142. data/sisimai.gemspec +1 -1
  143. metadata +28 -13
  144. data/lib/sisimai/reason/exceedlimit.rb +0 -47
  145. data/lib/sisimai/reason/speeding.rb +0 -47
  146. data/lib/sisimai/reason/toomanyconn.rb +0 -59
  147. /data/set-of-emails/maildir/bsd/{lhost-mailmarshalsmtp-02.eml → lhost-mailmarshal-02.eml} +0 -0
  148. /data/set-of-emails/maildir/bsd/{lhost-interscanmss-01.eml → lhost-trendmicro-01.eml} +0 -0
  149. /data/set-of-emails/maildir/bsd/{lhost-interscanmss-02.eml → lhost-trendmicro-02.eml} +0 -0
  150. /data/set-of-emails/maildir/bsd/{lhost-interscanmss-03.eml → lhost-trendmicro-03.eml} +0 -0
@@ -0,0 +1,87 @@
1
+ Return-Path: <>
2
+ X-Original-To: michitsuna@example.org
3
+ Delivered-To: nekonyaan@example.org
4
+ Received: by mbox.example.org (Postfix)
5
+ id 4dJF1r4PPvz20Q3D; Tue, 29 Apr 2025 11:47:12 +0900 (JST)
6
+ Date: Tue, 29 Apr 2025 11:47:12 +0900 (JST)
7
+ From: MAILER-DAEMON@mbox.example.org (Mail Delivery System)
8
+ Subject: Undelivered Mail Returned to Sender
9
+ To: michitsuna@example.org
10
+ Auto-Submitted: auto-replied
11
+ MIME-Version: 1.0
12
+ Content-Type: multipart/report; report-type=delivery-status;
13
+ boundary="4dJF1p1qt4z20PyL.1234580000/mbox.example.org"
14
+ Message-Id: <4dJF1r4PPvz20Q3D@mbox.example.org>
15
+
16
+ This is a MIME-encapsulated message.
17
+
18
+ --4dJF1p1qt4z20PyL.1234580000/mbox.example.org
19
+ Content-Description: Notification
20
+ Content-Type: text/plain; charset=us-ascii
21
+
22
+ This is the mail system at host mbox.example.org.
23
+
24
+ I'm sorry to have to inform you that your message could not
25
+ be delivered to one or more recipients. It's attached below.
26
+
27
+ For further assistance, please send mail to postmaster.
28
+
29
+ If you do so, please include this problem report. You can
30
+ delete your own text from the attached returned message.
31
+
32
+ The mail system
33
+
34
+ <kijitora@zoho.example.com>: host smtpin.zoho.com[204.141.33.23] said: 554 5.7.1 Email
35
+ cannot be delivered. Reason: Email flagged as Spam. (in reply to RCPT TO command)
36
+
37
+ --4dJF1p1qt4z20PyL.1234580000/mbox.example.org
38
+ Content-Description: Delivery report
39
+ Content-Type: message/delivery-status
40
+
41
+ Reporting-MTA: dns; mbox.example.org
42
+ X-Postfix-Queue-ID: 4dJF1p1qt4z20PyL
43
+ X-Postfix-Sender: rfc822; michitsuna@example.org
44
+ Arrival-Date: Tue, 29 Apr 2025 11:47:10 +0900 (JST)
45
+
46
+ Final-Recipient: rfc822; kijitora@zoho.example.com
47
+ Original-Recipient: rfc822;kijitora@zoho.example.com
48
+ Action: failed
49
+ Status: 5.7.1
50
+ Remote-MTA: dns; smtpin.zoho.com
51
+ Diagnostic-Code: smtp; 554 5.7.1 Email cannot be delivered. Reason: Email
52
+ flagged as Spam.
53
+
54
+ --4dJF1p1qt4z20PyL.1234580000/mbox.example.org
55
+ Content-Description: Undelivered Message
56
+ Content-Type: message/rfc822
57
+
58
+ Return-Path: <michitsuna@example.org>
59
+ Received: from smtpclient.apple (p2-255.kyoto.example.ne.jp [192.0.2.25])
60
+ by mbox.example.org (Postfix) with ESMTPSA id 4dJF1p1qt4z20PyL
61
+ for <kijitora@zoho.example.com>; Tue, 29 Apr 2025 11:47:10 +0900 (JST)
62
+ Authentication-Results: mbox.example.org; arc=none smtp.client-ip=192.0.2.25
63
+ DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.org;
64
+ s=neko22; t=1000000000;
65
+ bh=PTPS44ldRbybtsf2JyOccMKmOaotbn7wXTBZLWOqHr0=;
66
+ h=From:Subject:Message-Id:Date:To:X-Mailer:From;
67
+ b=dVV/aqMxVRphpgNYICGJBO1oqI/MBC0qoa0TZSVaL5dtDxOm23+iaQjs2rJv8oRmo
68
+ H3QDTWfjopR+04szcFtRVQRXAJQFW0rmaYf4hXwAqqLCR3egw/vILDYV4Pr3lktPzT
69
+ u1nZbYhdtgnmN89z/GIGUIKyoumKCK3ADCH2VL0ZFauLnTsiIqDPtFUeETfXiQiZr0
70
+ 5QbE/iwY29R4NY1s2Spc0BtSHeZDbsfgnccZIZhKUvC2AaJqFMfO3xfAvDSHrGRU/L
71
+ 0NLS9PyGUR+UL/QVFuGgti1AC3jKvevurqMQnz3Rw1G8zYq8y10h5ta0nZ9HfWbzO8
72
+ NZrIa7MtJeCAw==
73
+ From: "Nekodono" <michitsuna@example.org>
74
+ Content-Type: text/plain;
75
+ charset=us-ascii
76
+ Content-Transfer-Encoding: 7bit
77
+ Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.400.131.1.6\))
78
+ Subject: Nyaan?
79
+ Message-Id: <6E83AE85-5AF4-4E9B-8B33-64683EF86603@example.org>
80
+ Date: Tue, 29 Apr 2025 11:46:59 +0900
81
+ To: kijitora@zoho.example.com
82
+ X-Mailer: Apple Mail (2.3826.400.131.1.6)
83
+
84
+ Nyaan?
85
+
86
+ --4dJF1p1qt4z20PyL.1234580000/mbox.example.org--
87
+
@@ -0,0 +1,86 @@
1
+ Return-Path: <>
2
+ X-Original-To: michitsuna@example.org
3
+ Delivered-To: nekonyaan@example.org
4
+ Received: by mbox.example.org (Postfix)
5
+ id 4dJF1r4PPvz20Q4D; Tue, 29 Apr 2025 11:47:12 +0900 (JST)
6
+ Date: Tue, 29 Apr 2025 11:47:12 +0900 (JST)
7
+ From: MAILER-DAEMON@mbox.example.org (Mail Delivery System)
8
+ Subject: Undelivered Mail Returned to Sender
9
+ To: michitsuna@example.org
10
+ Auto-Submitted: auto-replied
11
+ MIME-Version: 1.0
12
+ Content-Type: multipart/report; report-type=delivery-status;
13
+ boundary="4dJF1p1qt4z20PyL.1234580000/mbox.example.org"
14
+ Message-Id: <4dJF1r4PPvz20Q4D@mbox.example.org>
15
+
16
+ This is a MIME-encapsulated message.
17
+
18
+ --4dJF1p1qt4z20PyL.1234580000/mbox.example.org
19
+ Content-Description: Notification
20
+ Content-Type: text/plain; charset=us-ascii
21
+
22
+ This is the mail system at host mbox.example.org.
23
+
24
+ I'm sorry to have to inform you that your message could not
25
+ be delivered to one or more recipients. It's attached below.
26
+
27
+ For further assistance, please send mail to postmaster.
28
+
29
+ If you do so, please include this problem report. You can
30
+ delete your own text from the attached returned message.
31
+
32
+ The mail system
33
+
34
+ <kijitora@zoho.example.com>: host mx.zoho.com[136.143.183.44] said: 541 5.4.1
35
+ Mail rejected by destination domain (in reply to RCPT TO command)
36
+
37
+ --4dJF1p1qt4z20PyL.1234580000/mbox.example.org
38
+ Content-Description: Delivery report
39
+ Content-Type: message/delivery-status
40
+
41
+ Reporting-MTA: dns; mbox.example.org
42
+ X-Postfix-Queue-ID: 4dJF1p1qt4z20PyL
43
+ X-Postfix-Sender: rfc822; michitsuna@example.org
44
+ Arrival-Date: Tue, 29 Apr 2025 11:47:10 +0900 (JST)
45
+
46
+ Final-Recipient: rfc822; kijitora@zoho.example.com
47
+ Original-Recipient: rfc822;kijitora@zoho.example.com
48
+ Action: failed
49
+ Status: 5.4.1
50
+ Remote-MTA: dns; mx.zoho.com
51
+ Diagnostic-Code: smtp; 541 5.4.1 Mail rejected by destination domain
52
+
53
+ --4dJF1p1qt4z20PyL.1234580000/mbox.example.org
54
+ Content-Description: Undelivered Message
55
+ Content-Type: message/rfc822
56
+
57
+ Return-Path: <michitsuna@example.org>
58
+ Received: from smtpclient.apple (p2-255.kyoto.example.ne.jp [192.0.2.25])
59
+ by mbox.example.org (Postfix) with ESMTPSA id 4dJF1p1qt4z20PyL
60
+ for <kijitora@zoho.example.com>; Tue, 29 Apr 2025 11:47:10 +0900 (JST)
61
+ Authentication-Results: mbox.example.org; arc=none smtp.client-ip=192.0.2.25
62
+ DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.org;
63
+ s=neko22; t=1000000000;
64
+ bh=PTPS44ldRbybtsf2JyOccMKmOaotbn7wXTBZLWOqHr0=;
65
+ h=From:Subject:Message-Id:Date:To:X-Mailer:From;
66
+ b=dVV/aqMxVRphpgNYICGJBO1oqI/MBC0qoa0TZSVaL5dtDxOm23+iaQjs2rJv8oRmo
67
+ H3QDTWfjopR+04szcFtRVQRXAJQFW0rmaYf4hXwAqqLCR3egw/vILDYV4Pr3lktPzT
68
+ u1nZbYhdtgnmN89z/GIGUIKyoumKCK3ADCH2VL0ZFauLnTsiIqDPtFUeETfXiQiZr0
69
+ 5QbE/iwY29R4NY1s2Spc0BtSHeZDbsfgnccZIZhKUvC2AaJqFMfO3xfAvDSHrGRU/L
70
+ 0NLS9PyGUR+UL/QVFuGgti1AC3jKvevurqMQnz3Rw1G8zYq8y10h5ta0nZ9HfWbzO8
71
+ NZrIa7MtJeCAw==
72
+ From: "Nekodono" <michitsuna@example.org>
73
+ Content-Type: text/plain;
74
+ charset=us-ascii
75
+ Content-Transfer-Encoding: 7bit
76
+ Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.400.131.1.6\))
77
+ Subject: Nyaan?
78
+ Message-Id: <6E83AE85-5AF4-4E9B-8B33-64683EF86604@example.org>
79
+ Date: Tue, 29 Apr 2025 11:46:59 +0900
80
+ To: kijitora@zoho.example.com
81
+ X-Mailer: Apple Mail (2.3826.400.131.1.6)
82
+
83
+ Nyaan?
84
+
85
+ --4dJF1p1qt4z20PyL.1234580000/mbox.example.org--
86
+
@@ -0,0 +1,39 @@
1
+ From MAILER-DAEMON Sat Oct 4 08:00:09 2025
2
+ Return-Path: <>
3
+ Date: Sat, 04 Oct 2025 08:00:07 +0200
4
+ Auto-Submitted: auto-replied
5
+ From: postmaster@yyyyyy.de
6
+ To: bounce+xxxx=yyyyyy.net@zzzzzzzz.net
7
+ Subject: email bounce notification
8
+
9
+ ########################################################################
10
+ ## automatic bounce notification (english text below) ##
11
+ ########################################################################
12
+
13
+ This message is to inform you that an email you sent was rejected.
14
+ Your message was rejected and discarded because it wasn't possible to
15
+ save the message in the target mailbox.
16
+
17
+ Please don't reply to this email because it is automaticaly generated.
18
+ You may want to wait some time to give the recipient the chance to
19
+ solve the problem (i.e. mailbox full) and then resend your email.
20
+
21
+ reject reason: Mailbox full
22
+ target mail address: xxxx@yyyyyy.net
23
+
24
+ ------------------------------------------------------------------------
25
+ bounced E-Mail:
26
+
27
+ From bounce+xxxx=yyyyyy.net@zzzzzzzz.net Sat Oct 4 08:00:07 2025
28
+ Date: Sat, 04 Oct 2025 06:00:03 +0000
29
+ From: Name <ccccc@zzzzzzzz.net>
30
+ To: xxxx@yyyyyy.net
31
+ Message-ID: <68e0b7e3615cd_1dc7010592ed@7cf4d87f87-9r5w2.mail>
32
+ Subject: SUBJECT
33
+ Mime-Version: 1.0
34
+ Content-Type: multipart/alternative;
35
+ boundary="--==_mimepart_68e0b7e359d08_1dc701059085";
36
+ charset=UTF-8
37
+ Content-Transfer-Encoding: 7bit
38
+
39
+
data/sisimai-java.gemspec CHANGED
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
20
20
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
21
  spec.require_paths = ['lib']
22
22
 
23
- spec.required_ruby_version = '>= 2.4.0'
23
+ spec.required_ruby_version = '>= 2.5.0'
24
24
 
25
25
  spec.add_development_dependency 'bundler', '>= 1.8'
26
26
  spec.add_development_dependency 'rake', '>= 10.0'
data/sisimai.gemspec CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
19
19
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
20
  spec.require_paths = ['lib']
21
21
 
22
- spec.required_ruby_version = '>= 2.4.0'
22
+ spec.required_ruby_version = '>= 2.5.0'
23
23
 
24
24
  spec.add_development_dependency 'bundler', '>= 1.8'
25
25
  spec.add_development_dependency 'rake', '>= 10.0'
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sisimai
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.4.1
4
+ version: 5.6.0
5
5
  platform: java
6
6
  authors:
7
7
  - azumakuniyuki
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2025-08-31 00:00:00.000000000 Z
10
+ date: 2026-02-02 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: bundler
@@ -125,17 +125,18 @@ files:
125
125
  - lib/sisimai/lhost/googlegroups.rb
126
126
  - lib/sisimai/lhost/googleworkspace.rb
127
127
  - lib/sisimai/lhost/imailserver.rb
128
- - lib/sisimai/lhost/interscanmss.rb
129
128
  - lib/sisimai/lhost/kddi.rb
130
129
  - lib/sisimai/lhost/mailfoundry.rb
131
- - lib/sisimai/lhost/mailmarshalsmtp.rb
130
+ - lib/sisimai/lhost/mailmarshal.rb
132
131
  - lib/sisimai/lhost/messagingserver.rb
133
132
  - lib/sisimai/lhost/mfilter.rb
133
+ - lib/sisimai/lhost/mimecast.rb
134
134
  - lib/sisimai/lhost/notes.rb
135
135
  - lib/sisimai/lhost/opensmtpd.rb
136
136
  - lib/sisimai/lhost/postfix.rb
137
137
  - lib/sisimai/lhost/qmail.rb
138
138
  - lib/sisimai/lhost/sendmail.rb
139
+ - lib/sisimai/lhost/trendmicro.rb
139
140
  - lib/sisimai/lhost/v5sendmail.rb
140
141
  - lib/sisimai/lhost/verizon.rb
141
142
  - lib/sisimai/lhost/x1.rb
@@ -156,7 +157,7 @@ files:
156
157
  - lib/sisimai/reason/blocked.rb
157
158
  - lib/sisimai/reason/contenterror.rb
158
159
  - lib/sisimai/reason/delivered.rb
159
- - lib/sisimai/reason/exceedlimit.rb
160
+ - lib/sisimai/reason/emailtoolarge.rb
160
161
  - lib/sisimai/reason/expired.rb
161
162
  - lib/sisimai/reason/failedstarttls.rb
162
163
  - lib/sisimai/reason/feedback.rb
@@ -165,24 +166,22 @@ files:
165
166
  - lib/sisimai/reason/hostunknown.rb
166
167
  - lib/sisimai/reason/mailboxfull.rb
167
168
  - lib/sisimai/reason/mailererror.rb
168
- - lib/sisimai/reason/mesgtoobig.rb
169
169
  - lib/sisimai/reason/networkerror.rb
170
170
  - lib/sisimai/reason/norelaying.rb
171
171
  - lib/sisimai/reason/notaccept.rb
172
172
  - lib/sisimai/reason/notcompliantrfc.rb
173
173
  - lib/sisimai/reason/onhold.rb
174
174
  - lib/sisimai/reason/policyviolation.rb
175
+ - lib/sisimai/reason/ratelimited.rb
175
176
  - lib/sisimai/reason/rejected.rb
176
177
  - lib/sisimai/reason/requireptr.rb
177
178
  - lib/sisimai/reason/securityerror.rb
178
179
  - lib/sisimai/reason/spamdetected.rb
179
- - lib/sisimai/reason/speeding.rb
180
180
  - lib/sisimai/reason/suppressed.rb
181
181
  - lib/sisimai/reason/suspend.rb
182
182
  - lib/sisimai/reason/syntaxerror.rb
183
183
  - lib/sisimai/reason/systemerror.rb
184
184
  - lib/sisimai/reason/systemfull.rb
185
- - lib/sisimai/reason/toomanyconn.rb
186
185
  - lib/sisimai/reason/undefined.rb
187
186
  - lib/sisimai/reason/userunknown.rb
188
187
  - lib/sisimai/reason/vacation.rb
@@ -216,6 +215,7 @@ files:
216
215
  - lib/sisimai/rhost/spectrum.rb
217
216
  - lib/sisimai/rhost/tencent.rb
218
217
  - lib/sisimai/rhost/yahooinc.rb
218
+ - lib/sisimai/rhost/zoho.rb
219
219
  - lib/sisimai/smtp.rb
220
220
  - lib/sisimai/smtp/command.rb
221
221
  - lib/sisimai/smtp/failure.rb
@@ -423,15 +423,12 @@ files:
423
423
  - set-of-emails/maildir/bsd/lhost-imailserver-03.eml
424
424
  - set-of-emails/maildir/bsd/lhost-imailserver-04.eml
425
425
  - set-of-emails/maildir/bsd/lhost-imailserver-06.eml
426
- - set-of-emails/maildir/bsd/lhost-interscanmss-01.eml
427
- - set-of-emails/maildir/bsd/lhost-interscanmss-02.eml
428
- - set-of-emails/maildir/bsd/lhost-interscanmss-03.eml
429
426
  - set-of-emails/maildir/bsd/lhost-kddi-01.eml
430
427
  - set-of-emails/maildir/bsd/lhost-kddi-02.eml
431
428
  - set-of-emails/maildir/bsd/lhost-kddi-03.eml
432
429
  - set-of-emails/maildir/bsd/lhost-mailfoundry-01.eml
433
430
  - set-of-emails/maildir/bsd/lhost-mailfoundry-02.eml
434
- - set-of-emails/maildir/bsd/lhost-mailmarshalsmtp-02.eml
431
+ - set-of-emails/maildir/bsd/lhost-mailmarshal-02.eml
435
432
  - set-of-emails/maildir/bsd/lhost-mailru-01.eml
436
433
  - set-of-emails/maildir/bsd/lhost-mailru-02.eml
437
434
  - set-of-emails/maildir/bsd/lhost-mailru-03.eml
@@ -463,6 +460,9 @@ files:
463
460
  - set-of-emails/maildir/bsd/lhost-mfilter-02.eml
464
461
  - set-of-emails/maildir/bsd/lhost-mfilter-03.eml
465
462
  - set-of-emails/maildir/bsd/lhost-mfilter-04.eml
463
+ - set-of-emails/maildir/bsd/lhost-mfilter-05.eml
464
+ - set-of-emails/maildir/bsd/lhost-mimecast-01.eml
465
+ - set-of-emails/maildir/bsd/lhost-mimecast-02.eml
466
466
  - set-of-emails/maildir/bsd/lhost-mxlogic-01.eml
467
467
  - set-of-emails/maildir/bsd/lhost-mxlogic-02.eml
468
468
  - set-of-emails/maildir/bsd/lhost-mxlogic-03.eml
@@ -571,6 +571,8 @@ files:
571
571
  - set-of-emails/maildir/bsd/lhost-postfix-76.eml
572
572
  - set-of-emails/maildir/bsd/lhost-postfix-77.eml
573
573
  - set-of-emails/maildir/bsd/lhost-postfix-78.eml
574
+ - set-of-emails/maildir/bsd/lhost-postfix-79.eml
575
+ - set-of-emails/maildir/bsd/lhost-postfix-80.eml
574
576
  - set-of-emails/maildir/bsd/lhost-powermta-01.eml
575
577
  - set-of-emails/maildir/bsd/lhost-powermta-02.eml
576
578
  - set-of-emails/maildir/bsd/lhost-powermta-03.eml
@@ -672,6 +674,9 @@ files:
672
674
  - set-of-emails/maildir/bsd/lhost-surfcontrol-01.eml
673
675
  - set-of-emails/maildir/bsd/lhost-surfcontrol-02.eml
674
676
  - set-of-emails/maildir/bsd/lhost-surfcontrol-03.eml
677
+ - set-of-emails/maildir/bsd/lhost-trendmicro-01.eml
678
+ - set-of-emails/maildir/bsd/lhost-trendmicro-02.eml
679
+ - set-of-emails/maildir/bsd/lhost-trendmicro-03.eml
675
680
  - set-of-emails/maildir/bsd/lhost-v5sendmail-01.eml
676
681
  - set-of-emails/maildir/bsd/lhost-v5sendmail-02.eml
677
682
  - set-of-emails/maildir/bsd/lhost-v5sendmail-03.eml
@@ -683,12 +688,15 @@ files:
683
688
  - set-of-emails/maildir/bsd/lhost-verizon-02.eml
684
689
  - set-of-emails/maildir/bsd/lhost-x1-01.eml
685
690
  - set-of-emails/maildir/bsd/lhost-x1-02.eml
691
+ - set-of-emails/maildir/bsd/lhost-x1-03.eml
692
+ - set-of-emails/maildir/bsd/lhost-x1-04.eml
686
693
  - set-of-emails/maildir/bsd/lhost-x2-01.eml
687
694
  - set-of-emails/maildir/bsd/lhost-x2-02.eml
688
695
  - set-of-emails/maildir/bsd/lhost-x2-03.eml
689
696
  - set-of-emails/maildir/bsd/lhost-x2-04.eml
690
697
  - set-of-emails/maildir/bsd/lhost-x2-05.eml
691
698
  - set-of-emails/maildir/bsd/lhost-x2-06.eml
699
+ - set-of-emails/maildir/bsd/lhost-x2-07.eml
692
700
  - set-of-emails/maildir/bsd/lhost-x3-01.eml
693
701
  - set-of-emails/maildir/bsd/lhost-x3-02.eml
694
702
  - set-of-emails/maildir/bsd/lhost-x3-03.eml
@@ -752,11 +760,13 @@ files:
752
760
  - set-of-emails/maildir/bsd/rfc3464-63.eml
753
761
  - set-of-emails/maildir/bsd/rfc3464-64.eml
754
762
  - set-of-emails/maildir/bsd/rfc3464-65.eml
763
+ - set-of-emails/maildir/bsd/rfc3464-66.eml
755
764
  - set-of-emails/maildir/bsd/rfc3834-01.eml
756
765
  - set-of-emails/maildir/bsd/rfc3834-02.eml
757
766
  - set-of-emails/maildir/bsd/rfc3834-03.eml
758
767
  - set-of-emails/maildir/bsd/rfc3834-04.eml
759
768
  - set-of-emails/maildir/bsd/rfc3834-05.eml
769
+ - set-of-emails/maildir/bsd/rfc3834-06.eml
760
770
  - set-of-emails/maildir/bsd/rhost-aol-01.eml
761
771
  - set-of-emails/maildir/bsd/rhost-aol-02.eml
762
772
  - set-of-emails/maildir/bsd/rhost-aol-03.eml
@@ -840,6 +850,10 @@ files:
840
850
  - set-of-emails/maildir/bsd/rhost-yahooinc-01.eml
841
851
  - set-of-emails/maildir/bsd/rhost-yahooinc-02.eml
842
852
  - set-of-emails/maildir/bsd/rhost-yahooinc-03.eml
853
+ - set-of-emails/maildir/bsd/rhost-zoho-01.eml
854
+ - set-of-emails/maildir/bsd/rhost-zoho-02.eml
855
+ - set-of-emails/maildir/bsd/rhost-zoho-03.eml
856
+ - set-of-emails/maildir/bsd/rhost-zoho-04.eml
843
857
  - set-of-emails/maildir/dos/arf-01.eml
844
858
  - set-of-emails/maildir/dos/lhost-activehunter-01.eml
845
859
  - set-of-emails/maildir/dos/lhost-amavis-01.eml
@@ -1007,6 +1021,7 @@ files:
1007
1021
  - set-of-emails/maildir/mac/rhost-tencentqq-01.eml
1008
1022
  - set-of-emails/maildir/not/is-not-bounce-01.eml
1009
1023
  - set-of-emails/maildir/not/is-not-bounce-02.eml
1024
+ - set-of-emails/maildir/not/rb-issue-368-bug.eml
1010
1025
  - set-of-emails/maildir/tmp/arf-22.eml
1011
1026
  - set-of-emails/maildir/tmp/arf-23.eml
1012
1027
  - set-of-emails/maildir/tmp/arf-24.eml
@@ -1031,7 +1046,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
1031
1046
  requirements:
1032
1047
  - - ">="
1033
1048
  - !ruby/object:Gem::Version
1034
- version: 2.4.0
1049
+ version: 2.5.0
1035
1050
  required_rubygems_version: !ruby/object:Gem::Requirement
1036
1051
  requirements:
1037
1052
  - - ">="
@@ -1,47 +0,0 @@
1
- module Sisimai
2
- module Reason
3
- # Sisimai::Reason::ExceedLimit checks the bounce reason is "exceedlimit" or not. This class is
4
- # called only Sisimai::Reason class.
5
- #
6
- # This is the error that a message was rejected due to an email exceeded the limit. The value
7
- # of D.S.N. is 5.2.3. This reason is almost the same as "MesgTooBig", we think.
8
- module ExceedLimit
9
- class << self
10
- Index = [
11
- 'message header size exceeds limit',
12
- 'message too large',
13
- ].freeze
14
-
15
- def text; return 'exceedlimit'; end
16
- def description; return 'Email rejected due to an email exceeded the limit'; end
17
-
18
- # Try to match that the given text and regular expressions
19
- # @param [String] argv1 String to be matched with regular expressions
20
- # @return [Boolean] false: Did not match, true: Matched
21
- def match(argv1)
22
- return false unless argv1
23
- return true if Index.any? { |a| argv1.include?(a) }
24
- return false
25
- end
26
-
27
- # Exceed limit or not
28
- # @param [Sisimai::Fact] argvs Object to be detected the reason
29
- # @return [Boolean] true: Exceeds the limit
30
- # false: Did not exceed the limit
31
- # @see http://www.ietf.org/rfc/rfc2822.txt
32
- def true(argvs)
33
- return false if argvs['deliverystatus'].empty?
34
- return true if argvs['reason'] == 'exceedlimit'
35
-
36
- # Delivery status code points exceedlimit.
37
- # Status: 5.2.3
38
- # Diagnostic-Code: SMTP; 552 5.2.3 Message size exceeds fixed maximum message size
39
- return true if Sisimai::SMTP::Status.name(argvs['deliverystatus']) == 'exceedlimit'
40
- return match(argvs['diagnosticcode'].downcase)
41
- end
42
-
43
- end
44
- end
45
- end
46
- end
47
-
@@ -1,47 +0,0 @@
1
- module Sisimai
2
- module Reason
3
- # Sisimai::Reason::Speeding checks the bounce reason is "speeding" or not. This class is called
4
- # only Sisimai::Reason class. This is the error that a connection rejected due to exceeding a
5
- # rate limit or sending too fast.
6
- module Speeding
7
- class << self
8
- Index = [
9
- 'mail sent from your IP address has been temporarily rate limited',
10
- 'please try again slower',
11
- 'receiving mail at a rate that prevents additional messages from being delivered',
12
- ].freeze
13
-
14
- def text; return 'speeding'; end
15
- def description; return 'Rejected due to exceeding a rate limit or sending too fast'; end
16
-
17
- # Try to match that the given text and regular expressions
18
- # @param [String] argv1 String to be matched with regular expressions
19
- # @return [Boolean] false: Did not match, true: Matched
20
- def match(argv1)
21
- return false unless argv1
22
- return true if Index.any? { |a| argv1.include?(a) }
23
- return false
24
- end
25
-
26
- # Speeding or not
27
- # @param [Sisimai::Fact] argvs Object to be detected the reason
28
- # @return [Boolean] true: is speeding
29
- # false: is not speeding
30
- # @see http://www.ietf.org/rfc/rfc2822.txt
31
- def true(argvs)
32
- return false if argvs['deliverystatus'].empty?
33
- return true if argvs['reason'] == 'speeding'
34
-
35
- # Action: failed
36
- # Status: 4.7.1
37
- # Remote-MTA: dns; smtp.example.jp
38
- # Diagnostic-Code: smtp; 451 4.7.1 <mx.example.org[192.0.2.2]>: Client host rejected:
39
- # Please try again slower
40
- return match(argvs['diagnosticcode'].downcase)
41
- end
42
-
43
- end
44
- end
45
- end
46
- end
47
-
@@ -1,59 +0,0 @@
1
- module Sisimai
2
- module Reason
3
- # Sisimai::Reason::TooManyConn checks the bounce reason is "toomanyconn" or not. This class is
4
- # called only Sisimai::Reason class.
5
- #
6
- # This is the error that SMTP connection was rejected temporarily due to too many concurrency
7
- # connections to the remote server. This reason has added in Sisimai 4.1.26.
8
- #
9
- # <kijitora@example.ne.jp>: host mx02.example.ne.jp[192.0.1.20] said:
10
- # 452 4.3.2 Connection rate limit exceeded. (in reply to MAIL FROM command)
11
- module TooManyConn
12
- class << self
13
- Index = [
14
- 'all available ips are at maximum connection limit', # SendGrid
15
- 'connection rate limit exceeded',
16
- 'exceeds per-domain connection limit for',
17
- 'has exceeded the max emails per hour ',
18
- 'throttling failure: daily message quota exceeded',
19
- 'throttling failure: maximum sending rate exceeded',
20
- 'too many connections',
21
- 'too many connections from your host.', # Microsoft
22
- 'too many concurrent smtp connections', # Microsoft
23
- 'too many errors from your ip', # Free.fr
24
- 'too many recipients', # ntt docomo
25
- 'too many smtp sessions for this host', # Sendmail(daemon.c)
26
- 'trop de connexions, ',
27
- 'we have already made numerous attempts to deliver this message',
28
- ].freeze
29
-
30
- def text; return 'toomanyconn'; end
31
- def description; return 'SMTP connection rejected temporarily due to too many concurrency connections to the remote host'; end
32
-
33
- # Try to match that the given text and regular expressions
34
- # @param [String] argv1 String to be matched with regular expressions
35
- # @return [Boolean] false: Did not match, true: Matched
36
- def match(argv1)
37
- return false unless argv1
38
- return true if Index.any? { |a| argv1.include?(a) }
39
- return false
40
- end
41
-
42
- # Rejected by domain or address filter ?
43
- # @param [Sisimai::Fact] argvs Object to be detected the reason
44
- # @return [Boolean] true: is filtered
45
- # false: is not filtered
46
- # @see http://www.ietf.org/rfc/rfc2822.txt
47
- def true(argvs)
48
- return true if argvs['reason'] == 'toomanyconn'
49
- return true if Sisimai::SMTP::Status.name(argvs['deliverystatus']) == 'toomanyconn'
50
- return match(argvs['diagnosticcode'].downcase)
51
- end
52
-
53
- end
54
- end
55
- end
56
- end
57
-
58
-
59
-