sisimai 5.7.0 → 5.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ChangeLog.md +15 -0
- data/README-JA.md +8 -8
- data/README.md +8 -8
- data/lib/sisimai/arf.rb +2 -1
- data/lib/sisimai/eb.rb +116 -0
- data/lib/sisimai/fact.rb +24 -17
- data/lib/sisimai/lda.rb +20 -18
- data/lib/sisimai/lhost/amazonses.rb +11 -10
- data/lib/sisimai/lhost/courier.rb +4 -3
- data/lib/sisimai/lhost/domino.rb +2 -1
- data/lib/sisimai/lhost/einsundeins.rb +3 -2
- data/lib/sisimai/lhost/exchange2003.rb +8 -7
- data/lib/sisimai/lhost/exchange2007.rb +14 -13
- data/lib/sisimai/lhost/exim.rb +7 -6
- data/lib/sisimai/lhost/ezweb.rb +4 -3
- data/lib/sisimai/lhost/fml.rb +4 -3
- data/lib/sisimai/lhost/gmail.rb +10 -9
- data/lib/sisimai/lhost/googlegroups.rb +3 -2
- data/lib/sisimai/lhost/googleworkspace.rb +2 -1
- data/lib/sisimai/lhost/imailserver.rb +3 -2
- data/lib/sisimai/lhost/kddi.rb +4 -3
- data/lib/sisimai/lhost/notes.rb +2 -1
- data/lib/sisimai/lhost/postfix.rb +7 -6
- data/lib/sisimai/lhost/qmail.rb +10 -9
- data/lib/sisimai/lhost/sendmail.rb +4 -3
- data/lib/sisimai/lhost/trendmicro.rb +2 -1
- data/lib/sisimai/lhost/v5sendmail.rb +2 -1
- data/lib/sisimai/lhost/verizon.rb +3 -2
- data/lib/sisimai/reason/authfailure.rb +6 -5
- data/lib/sisimai/reason/badreputation.rb +5 -4
- data/lib/sisimai/reason/blocked.rb +6 -5
- data/lib/sisimai/reason/contenterror.rb +6 -5
- data/lib/sisimai/reason/delivered.rb +3 -2
- data/lib/sisimai/reason/emailtoolarge.rb +6 -5
- data/lib/sisimai/reason/expired.rb +3 -2
- data/lib/sisimai/reason/failedstarttls.rb +5 -3
- data/lib/sisimai/reason/feedback.rb +2 -1
- data/lib/sisimai/reason/filtered.rb +9 -8
- data/lib/sisimai/reason/hasmoved.rb +5 -4
- data/lib/sisimai/reason/hostunknown.rb +5 -4
- data/lib/sisimai/reason/mailboxfull.rb +7 -6
- data/lib/sisimai/reason/mailererror.rb +3 -2
- data/lib/sisimai/reason/networkerror.rb +3 -2
- data/lib/sisimai/reason/norelaying.rb +4 -3
- data/lib/sisimai/reason/notaccept.rb +5 -4
- data/lib/sisimai/reason/notcompliantrfc.rb +4 -3
- data/lib/sisimai/reason/onhold.rb +8 -7
- data/lib/sisimai/reason/policyviolation.rb +7 -6
- data/lib/sisimai/reason/ratelimited.rb +5 -4
- data/lib/sisimai/reason/rejected.rb +18 -14
- data/lib/sisimai/reason/requireptr.rb +5 -4
- data/lib/sisimai/reason/securityerror.rb +4 -3
- data/lib/sisimai/reason/spamdetected.rb +6 -5
- data/lib/sisimai/reason/suppressed.rb +4 -3
- data/lib/sisimai/reason/suspend.rb +4 -3
- data/lib/sisimai/reason/syntaxerror.rb +4 -3
- data/lib/sisimai/reason/systemerror.rb +3 -2
- data/lib/sisimai/reason/systemfull.rb +4 -3
- data/lib/sisimai/reason/undefined.rb +2 -1
- data/lib/sisimai/reason/userunknown.rb +13 -9
- data/lib/sisimai/reason/vacation.rb +2 -1
- data/lib/sisimai/reason/virusdetected.rb +6 -5
- data/lib/sisimai/reason.rb +45 -40
- data/lib/sisimai/rfc1894.rb +8 -2
- data/lib/sisimai/rfc2045.rb +6 -3
- data/lib/sisimai/rfc3464/thirdparty.rb +10 -9
- data/lib/sisimai/rfc3834.rb +4 -2
- data/lib/sisimai/rhost/aol.rb +3 -2
- data/lib/sisimai/rhost/apple.rb +12 -11
- data/lib/sisimai/rhost/cloudflare.rb +3 -2
- data/lib/sisimai/rhost/cox.rb +38 -37
- data/lib/sisimai/rhost/facebook.rb +17 -16
- data/lib/sisimai/rhost/franceptt.rb +39 -38
- data/lib/sisimai/rhost/godaddy.rb +35 -34
- data/lib/sisimai/rhost/google.rb +22 -21
- data/lib/sisimai/rhost/gsuite.rb +8 -7
- data/lib/sisimai/rhost/iua.rb +11 -10
- data/lib/sisimai/rhost/kddi.rb +3 -2
- data/lib/sisimai/rhost/messagelabs.rb +13 -12
- data/lib/sisimai/rhost/microsoft.rb +33 -32
- data/lib/sisimai/rhost/mimecast.rb +18 -17
- data/lib/sisimai/rhost/nttdocomo.rb +10 -9
- data/lib/sisimai/rhost/outlook.rb +3 -2
- data/lib/sisimai/rhost/spectrum.rb +19 -18
- data/lib/sisimai/rhost/tencent.rb +10 -9
- data/lib/sisimai/rhost/yahooinc.rb +11 -10
- data/lib/sisimai/rhost/zoho.rb +8 -7
- data/lib/sisimai/smtp/command.rb +13 -8
- data/lib/sisimai/smtp/failure.rb +9 -8
- data/lib/sisimai/smtp/reply.rb +23 -22
- data/lib/sisimai/smtp/status.rb +141 -140
- data/lib/sisimai/smtp/transcript.rb +3 -2
- data/lib/sisimai/version.rb +1 -1
- data/lib/sisimai.rb +2 -1
- data/set-of-emails/maildir/bsd/lhost-postfix-81.eml +130 -0
- data/set-of-emails/should-not-crash/go-423-deeply-nested-mime-parts.eml +20050 -0
- metadata +5 -2
|
@@ -9,8 +9,9 @@ module Sisimai
|
|
|
9
9
|
# https://learn.microsoft.com/en-us/Exchange/mail-flow/non-delivery-reports-and-bounce-messages/non-delivery-reports-and-bounce-messages
|
|
10
10
|
module Microsoft
|
|
11
11
|
class << self
|
|
12
|
+
require 'sisimai/eb'
|
|
12
13
|
MessagesOf = {
|
|
13
|
-
|
|
14
|
+
Sisimai::Eb::ReAUTH => [
|
|
14
15
|
# - Access denied, a message sent over IPv6 [2a01:111:f200:2004::240] must pass either
|
|
15
16
|
# SPF or DKIM validation, this message is not signed
|
|
16
17
|
# - The sending message sent over IPv6 must pass either SPF or DKIM.
|
|
@@ -31,7 +32,7 @@ module Sisimai
|
|
|
31
32
|
# Spf= Fail , Dkim= Pass , DMARC= Pass ...
|
|
32
33
|
["5.7.515", 0, 0, "doesn't meet the required authentication level"],
|
|
33
34
|
],
|
|
34
|
-
|
|
35
|
+
Sisimai::Eb::ReFAMA => [
|
|
35
36
|
# Undocumented error messages ---------------------------------------------------------
|
|
36
37
|
# - status=deferred (host outlook-com.olc.protection.outlook.com[192.0.2.255] said:
|
|
37
38
|
# 451 4.7.650 The mail server [192.0.2.5] has been temporarily rate limited due to IP
|
|
@@ -39,7 +40,7 @@ module Sisimai
|
|
|
39
40
|
# [***.prod.protection.outlook.com] (in reply to MAIL FROM command))
|
|
40
41
|
['4.7.650', 0, 0, 'has been temporarily rate limited due to ip reputation'],
|
|
41
42
|
],
|
|
42
|
-
|
|
43
|
+
Sisimai::Eb::ReBLOC => [
|
|
43
44
|
# Exchange Server 2019 ----------------------------------------------------------------
|
|
44
45
|
# - Transient network issues or server problems that might eventually correct them-
|
|
45
46
|
# selves. The sending server will retry delivery of the message, and will generate
|
|
@@ -116,7 +117,7 @@ module Sisimai
|
|
|
116
117
|
# Internet service provider since part of their network is on our block list (S3150).
|
|
117
118
|
['5.7.1', 0, 0, 'part of their network is on our block list (s3150)'],
|
|
118
119
|
],
|
|
119
|
-
|
|
120
|
+
Sisimai::Eb::ReBODY => [
|
|
120
121
|
# Exchange Server 2019 ----------------------------------------------------------------
|
|
121
122
|
# - The message was determined to be malformed, and was moved to the poison message
|
|
122
123
|
# queue. For more information, see Types of queues.
|
|
@@ -131,7 +132,7 @@ module Sisimai
|
|
|
131
132
|
['5.4.11', 0, 0, 'agent generated message depth exceeded'],
|
|
132
133
|
['5.5.6', 0, 0, 'invalid message content'],
|
|
133
134
|
],
|
|
134
|
-
|
|
135
|
+
Sisimai::Eb::ReSIZE => [
|
|
135
136
|
# Exchange Server 2019 ----------------------------------------------------------------
|
|
136
137
|
# - The message is too large. Send the message again without any attachments, or confi-
|
|
137
138
|
# gure a larger message size limit for the recipient. For more information, see Re-
|
|
@@ -147,7 +148,7 @@ module Sisimai
|
|
|
147
148
|
# Previous versions of Exchange Server ------------------------------------------------
|
|
148
149
|
['5.3.4', 0, 0, 'message too big for system'],
|
|
149
150
|
],
|
|
150
|
-
|
|
151
|
+
Sisimai::Eb::ReTIME => [
|
|
151
152
|
# Exchange Server 2019 ----------------------------------------------------------------
|
|
152
153
|
# - Transient network issues that might eventually correct themselves. The Exchange
|
|
153
154
|
# server periodically tries to connect to the destination server to deliver the mes-
|
|
@@ -198,7 +199,7 @@ module Sisimai
|
|
|
198
199
|
# couldn't be delivered to the original sender.
|
|
199
200
|
['5.4.300', 0, 0, 'message expired'],
|
|
200
201
|
],
|
|
201
|
-
|
|
202
|
+
Sisimai::Eb::ReTTLS => [
|
|
202
203
|
# Exchange Online ---------------------------------------------------------------------
|
|
203
204
|
# - DNSSEC checks have passed, yet upon connection, destination mail server doesn't re-
|
|
204
205
|
# spond to the STARTTLS command. The destination server responds to the STARTTLS com-
|
|
@@ -245,14 +246,14 @@ module Sisimai
|
|
|
245
246
|
['4.7.325', 0, 0, 'certificate-host-mismatch:'],
|
|
246
247
|
['5.7.325', 0, 0, 'certificate-host-mismatch:'],
|
|
247
248
|
],
|
|
248
|
-
|
|
249
|
+
Sisimai::Eb::ReFULL => [
|
|
249
250
|
# Exchange Server 2019 ----------------------------------------------------------------
|
|
250
251
|
# - The recipient's mailbox has exceeded its storage quota and is no longer able to ac-
|
|
251
252
|
# cept new messages. For more information about configuring mailbox quotas, see Con-
|
|
252
253
|
# figure storage quotas for a mailbox.
|
|
253
254
|
['5.2.2', 0, 0, 'mailbox full'],
|
|
254
255
|
],
|
|
255
|
-
|
|
256
|
+
Sisimai::Eb::ReINET => [
|
|
256
257
|
# Exchange Server 2019 ----------------------------------------------------------------
|
|
257
258
|
# - There's a DNS or network adapter configuration issue on the Exchange server. Verify
|
|
258
259
|
# the internal and external DNS lookup settings for the Exchange by running this com-
|
|
@@ -303,7 +304,7 @@ module Sisimai
|
|
|
303
304
|
['5.4.6', 0, 0, 'routing loop detected'],
|
|
304
305
|
['5.4.14', 0, 0, 'routing loop detected'],
|
|
305
306
|
],
|
|
306
|
-
|
|
307
|
+
Sisimai::Eb::RePASS => [
|
|
307
308
|
# Exchange Server 2019 ----------------------------------------------------------------
|
|
308
309
|
# - You have an application server or device that's trying to relay messages through
|
|
309
310
|
# Exchange. For more information, see Allow anonymous relay on Exchange servers. The
|
|
@@ -344,7 +345,7 @@ module Sisimai
|
|
|
344
345
|
# Previous versions of Exchange Server ------------------------------------------------
|
|
345
346
|
['5.4.310', 0, 0, 'does not exist'], # DNS domain * does not exist
|
|
346
347
|
],
|
|
347
|
-
|
|
348
|
+
Sisimai::Eb::Re00MX => [
|
|
348
349
|
['4.3.2', 0, 0, 'system not accepting network messages'],
|
|
349
350
|
['4.4.4', 0, 0, 'hosted tenant which has no mail-enabled subscriptions'],
|
|
350
351
|
|
|
@@ -355,7 +356,7 @@ module Sisimai
|
|
|
355
356
|
# Book Policy Routing Agent and Address book policies in Exchange Server.
|
|
356
357
|
['5.3.2', 0, 0, 'storedrv.deliver: missing or bad storedriver mdb properties'],
|
|
357
358
|
],
|
|
358
|
-
|
|
359
|
+
Sisimai::Eb::ReWONT => [
|
|
359
360
|
# - 5.0.350 is a generic catch-all error code for a wide variety of non-specific errors
|
|
360
361
|
# lfrom the recipient's email organization. The specific x-dg-ref header is too long
|
|
361
362
|
# message is related to Rich Text formatted messages. The specific Requested action
|
|
@@ -370,7 +371,7 @@ module Sisimai
|
|
|
370
371
|
# Mail flow rule actions in Exchange Server.
|
|
371
372
|
['5.7.', 900, 999, 'delivery not authorized, message refused'],
|
|
372
373
|
],
|
|
373
|
-
|
|
374
|
+
Sisimai::Eb::ReRATE => [
|
|
374
375
|
# Exchange Server 2019 ----------------------------------------------------------------
|
|
375
376
|
# - The combined total of recipients on the To, Cc, and Bcc lines of the message ex-
|
|
376
377
|
# ceeds the total number of recipients allowed in a single message for the organiza-
|
|
@@ -442,7 +443,7 @@ module Sisimai
|
|
|
442
443
|
# Previous versions of Exchange Server ------------------------------------------------
|
|
443
444
|
['5.2.122', 0, 0, 'the recipient has exceeded their limit for'],
|
|
444
445
|
],
|
|
445
|
-
|
|
446
|
+
Sisimai::Eb::ReFROM => [
|
|
446
447
|
# Exchange Server 2019 ----------------------------------------------------------------
|
|
447
448
|
# - There's a problem with the sender's email address. Verify the sender's email ad-
|
|
448
449
|
# dress.
|
|
@@ -534,7 +535,7 @@ module Sisimai
|
|
|
534
535
|
# Previous versions of Exchange Server ------------------------------------------------
|
|
535
536
|
['5.7.', 501, 503, 'access denied, banned sender'],
|
|
536
537
|
],
|
|
537
|
-
|
|
538
|
+
Sisimai::Eb::ReSAFE => [
|
|
538
539
|
# Exchange Server 2019 ----------------------------------------------------------------
|
|
539
540
|
# - A firewall or other device is blocking the Extended SMTP command that's required
|
|
540
541
|
# for Exchange Server authentication (X-EXPS). Internal email traffic is flowing
|
|
@@ -557,14 +558,14 @@ module Sisimai
|
|
|
557
558
|
# the configuration of the application or device.
|
|
558
559
|
['5.7.57', 0, 0, 'client was not authenticated to send anonymous mail during mail from'],
|
|
559
560
|
],
|
|
560
|
-
|
|
561
|
+
Sisimai::Eb::ReSPAM => [
|
|
561
562
|
# Exchange Server 2019 ----------------------------------------------------------------
|
|
562
563
|
# - The message was quarantined by content filtering. To configure exceptions to con-
|
|
563
564
|
# tent filtering, see Use the Exchange Management Shell to configure recipient and
|
|
564
565
|
# sender exceptions for content filtering.
|
|
565
566
|
['5.2.1', 0, 0, 'content filter agent quarantined this message'],
|
|
566
567
|
],
|
|
567
|
-
|
|
568
|
+
Sisimai::Eb::ReQUIT => [
|
|
568
569
|
# Exchange Online ---------------------------------------------------------------------
|
|
569
570
|
# - The recipient address that you're attempting to contact isn't valid.
|
|
570
571
|
# - Verify the recipient's email address, and try again.
|
|
@@ -575,7 +576,7 @@ module Sisimai
|
|
|
575
576
|
# Previous versions of Exchange Server ------------------------------------------------
|
|
576
577
|
['5.2.1', 0, 0, 'mailbox cannot be accessed'],
|
|
577
578
|
],
|
|
578
|
-
|
|
579
|
+
Sisimai::Eb::ReCOMM => [
|
|
579
580
|
# Exchange Server 2019 ----------------------------------------------------------------
|
|
580
581
|
# - Receive connectors that are used for internal mail flow are missing the required
|
|
581
582
|
# Exchange Server authentication mechanism. For more information about authentication
|
|
@@ -588,7 +589,7 @@ module Sisimai
|
|
|
588
589
|
# be EHLO or HELO.
|
|
589
590
|
['5.5.2', 0, 0, 'send hello first'],
|
|
590
591
|
],
|
|
591
|
-
|
|
592
|
+
Sisimai::Eb::RePROC => [
|
|
592
593
|
# Exchange Server 2019 ----------------------------------------------------------------
|
|
593
594
|
# - You've configured a custom Receive connector in the Transport (Hub) service on a
|
|
594
595
|
# Mailbox server that listens on port 25. Typically, custom Receive connectors that
|
|
@@ -655,7 +656,7 @@ module Sisimai
|
|
|
655
656
|
# (in reply to MAIL FROM command))
|
|
656
657
|
['4.7.700', 0, 0, 'pfa agent busy, please try again.'],
|
|
657
658
|
],
|
|
658
|
-
|
|
659
|
+
Sisimai::Eb::ReDISK => [
|
|
659
660
|
# Exchange Server 2019 ----------------------------------------------------------------
|
|
660
661
|
# - Free disk space is low (for example, the disk that holds the queue database doesn't
|
|
661
662
|
# have the required amount of free space). For more information, see Understanding
|
|
@@ -666,7 +667,7 @@ module Sisimai
|
|
|
666
667
|
# machines.
|
|
667
668
|
['4.3.1', 0, 0, 'insufficient system resources'],
|
|
668
669
|
],
|
|
669
|
-
|
|
670
|
+
Sisimai::Eb::ReUSER => [
|
|
670
671
|
# Exchange Server 2019 ----------------------------------------------------------------
|
|
671
672
|
# - The recipient's email address is incorrect (the recipient doesn't exist in the des-
|
|
672
673
|
# tination messaging system). Verify the recipient's email address. You recreated a
|
|
@@ -731,51 +732,51 @@ module Sisimai
|
|
|
731
732
|
ErrorCodes = {
|
|
732
733
|
# The mail server IP connecting to Outlook.com server has exceeded the rate limit allowed.
|
|
733
734
|
# Reason for rate limitation is related to IP/domain reputation.
|
|
734
|
-
"RP-001" => ["421",
|
|
735
|
+
"RP-001" => ["421", Sisimai::Eb::ReFAMA],
|
|
735
736
|
|
|
736
737
|
# The mail server IP connecting to Outlook.com server has exceeded the rate limit allowed
|
|
737
738
|
# on this connection. Reason for rate limitation is related to IP/domain reputation.
|
|
738
|
-
"RP-002" => ["421",
|
|
739
|
+
"RP-002" => ["421", Sisimai::Eb::ReFAMA],
|
|
739
740
|
|
|
740
741
|
# The mail server IP connecting to Outlook.com server has exceeded the connection limit
|
|
741
742
|
# allowed. Reason for limitation is related to IP/domain reputation.
|
|
742
|
-
"RP-003" => ["421",
|
|
743
|
+
"RP-003" => ["421", Sisimai::Eb::ReFAMA],
|
|
743
744
|
|
|
744
745
|
# Mail rejected by Outlook.com for policy reasons. Reasons for rejection may be related
|
|
745
746
|
# to content with spam-like characteristics or IP/domain reputation.
|
|
746
|
-
"SC-001" => ["550",
|
|
747
|
+
"SC-001" => ["550", Sisimai::Eb::ReFAMA],
|
|
747
748
|
|
|
748
749
|
# Mail rejected by Outlook.com for policy reasons. The mail server IP connecting to
|
|
749
750
|
# Outlook.com has exhibited namespace mining behavior.
|
|
750
|
-
"SC-002" => ["550",
|
|
751
|
+
"SC-002" => ["550", Sisimai::Eb::ReWONT],
|
|
751
752
|
|
|
752
753
|
# Mail rejected by Outlook.com for policy reasons. Your IP address appears to be an
|
|
753
754
|
# open proxy/relay.
|
|
754
|
-
"SC-003" => ["550",
|
|
755
|
+
"SC-003" => ["550", Sisimai::Eb::ReBLOC],
|
|
755
756
|
|
|
756
757
|
# Mail rejected by Outlook.com for policy reasons. A block has been placed against your
|
|
757
758
|
# IP address because we have received complaints concerning mail coming from that IP
|
|
758
759
|
# address. We recommend enrolling in our Junk Email Reporting Program (JMRP), a free
|
|
759
760
|
# program intended to help senders remove unwanted recipients from their email list
|
|
760
|
-
"SC-004" => ["550",
|
|
761
|
+
"SC-004" => ["550", Sisimai::Eb::ReBLOC],
|
|
761
762
|
|
|
762
763
|
# Mail rejected by Outlook.com for policy reasons. We generally do not accept email
|
|
763
764
|
# from dynamic IP's as they are not typically used to deliver unauthenticated SMTP email
|
|
764
765
|
# to an Internet mail server. (Spamhaus)
|
|
765
|
-
"DY-001" => ["550",
|
|
766
|
+
"DY-001" => ["550", Sisimai::Eb::ReBLOC],
|
|
766
767
|
|
|
767
768
|
# Mail rejected by Outlook.com for policy reasons. The likely cause is a compromised or
|
|
768
769
|
# virus infected server/personal computer.
|
|
769
|
-
"DY-002" => ["550",
|
|
770
|
+
"DY-002" => ["550", Sisimai::Eb::ReEXEC],
|
|
770
771
|
|
|
771
772
|
# Mail rejected by Outlook.com for policy reasons. If you are not an email/network admin
|
|
772
773
|
# please contact your Email/Internet Service Provider for help. For more information
|
|
773
774
|
# about this block and to request removal please go to: Spamhaus.
|
|
774
|
-
"OU-001" => ["550",
|
|
775
|
+
"OU-001" => ["550", Sisimai::Eb::ReBLOC],
|
|
775
776
|
|
|
776
777
|
# Mail rejected by Outlook.com for policy reasons. Reasons for rejection may be related
|
|
777
778
|
# to content with spam-like characteristics or IP/domain reputation.
|
|
778
|
-
"OU-002" => ["550",
|
|
779
|
+
"OU-002" => ["550", Sisimai::Eb::ReFAMA],
|
|
779
780
|
}.freeze
|
|
780
781
|
|
|
781
782
|
# Detect bounce reason from Exchange Server 2019 or older and Exchange Online
|
|
@@ -5,10 +5,11 @@ module Sisimai
|
|
|
5
5
|
# is called only Sisimai::Fact class.
|
|
6
6
|
module Mimecast
|
|
7
7
|
class << self
|
|
8
|
+
require 'sisimai/eb'
|
|
8
9
|
MessagesOf = {
|
|
9
10
|
# - https://community.mimecast.com/s/article/email-security-cloud-gateway-mimecast-smtp-error-codes
|
|
10
11
|
# - https://mimecastsupport.zendesk.com/hc/en-us/articles/34000709564691-Policies-Mimecast-SMTP-Error-Codes
|
|
11
|
-
|
|
12
|
+
Sisimai::Eb::ReAUTH => [
|
|
12
13
|
# - The inbound message has been rejected because the originated IP address isn't list-
|
|
13
14
|
# ed in the published SPF records for the sending domain.
|
|
14
15
|
# - Ensure all the IP addresses for your mail servers are listed in your SPF records.
|
|
@@ -30,7 +31,7 @@ module Sisimai
|
|
|
30
31
|
# - Ensure all the IP addresses for your mail servers are listed in your SPF records.
|
|
31
32
|
[550, 'dmarc sender invalid - envelope rejected'],
|
|
32
33
|
],
|
|
33
|
-
|
|
34
|
+
Sisimai::Eb::ReFAMA => [
|
|
34
35
|
# - The sending mail server is subjected to Greylisting. This requires the server to
|
|
35
36
|
# retry the connection, between one minute and 12 hours. Alternatively, the sender's
|
|
36
37
|
# IP address has a poor reputation.
|
|
@@ -45,7 +46,7 @@ module Sisimai
|
|
|
45
46
|
# You can request a review of your source IP ranges by completing our online form.
|
|
46
47
|
[550, 'local ct ip reputation - (reject)'],
|
|
47
48
|
],
|
|
48
|
-
|
|
49
|
+
Sisimai::Eb::ReBLOC => [
|
|
49
50
|
# - Sender address blocked.
|
|
50
51
|
# A Blocked Senders Policy has blocked the sender's IP address.
|
|
51
52
|
# - The sender's IP address has been blocked by a Blocked Senders Policy.
|
|
@@ -69,7 +70,7 @@ module Sisimai
|
|
|
69
70
|
# the associated IP address from the RBL.
|
|
70
71
|
#[550, '< details of RBL >'], NEED AN ACTUAL ERROR MESSAGE STRING
|
|
71
72
|
],
|
|
72
|
-
|
|
73
|
+
Sisimai::Eb::ReSIZE => [
|
|
73
74
|
# - The email size either exceeds an Email Size Limit policy or is larger than the
|
|
74
75
|
# Mimecast service limit. The default is 100 MB for the Legacy MTA, and 200 MB for
|
|
75
76
|
# "the Latest MTA".
|
|
@@ -78,7 +79,7 @@ module Sisimai
|
|
|
78
79
|
# sage with a 70 MB attachment, can have an overall size larger than 100 MB).
|
|
79
80
|
[554, 'maximum email size exceeded'],
|
|
80
81
|
],
|
|
81
|
-
|
|
82
|
+
Sisimai::Eb::ReTIME => [
|
|
82
83
|
# - Journal messages past the expiration
|
|
83
84
|
# - Attempts are being made to journal mail past the set expiry threshold.
|
|
84
85
|
# A retry response will replace the failure because the message is marked for retry
|
|
@@ -87,7 +88,7 @@ module Sisimai
|
|
|
87
88
|
# Discontinue journaling old messages past the expiry threshold.
|
|
88
89
|
[550, 'journal messages past the expiration'],
|
|
89
90
|
],
|
|
90
|
-
|
|
91
|
+
Sisimai::Eb::ReTTLS => [
|
|
91
92
|
# - SMTP inbound TLS has been enabled but no SSL certificate (or no valid certificate)
|
|
92
93
|
# has been selected to be used.
|
|
93
94
|
# - Delete or change the Secure Receipt or Secure Delivery policy enforcing TLS.
|
|
@@ -121,7 +122,7 @@ module Sisimai
|
|
|
121
122
|
# - Check you DNS has the required umbrella accounts listed as comma-separated values.
|
|
122
123
|
[554, 'configuration is invalid for this certificate'],
|
|
123
124
|
],
|
|
124
|
-
|
|
125
|
+
Sisimai::Eb::ReINET => [
|
|
125
126
|
# - The recipients' domains have MX records configured incorrectly
|
|
126
127
|
# - Check and remove any MX records that point to hostnames with outbound references.
|
|
127
128
|
# Only Inbound smart hosts are supported on MX records.
|
|
@@ -134,7 +135,7 @@ module Sisimai
|
|
|
134
135
|
# are configured on the mail servers.
|
|
135
136
|
[554, 'mail loop detected'],
|
|
136
137
|
],
|
|
137
|
-
|
|
138
|
+
Sisimai::Eb::RePASS => [
|
|
138
139
|
# - Both the sender and recipient domains specified in the transmission are external to
|
|
139
140
|
# Mimecast, and aren't allowed to relay through the Mimecast service and/or the con-
|
|
140
141
|
# necting IP address isn't recognized as authorized.
|
|
@@ -143,12 +144,12 @@ module Sisimai
|
|
|
143
144
|
[451, 'open relay not allowed'],
|
|
144
145
|
[451, 'open relay is not allowed'],
|
|
145
146
|
],
|
|
146
|
-
|
|
147
|
+
Sisimai::Eb::Re00MX => [
|
|
147
148
|
# - The customer account Inbound emails are disabled in the Administration Console.
|
|
148
149
|
# - Contact Mimecast Support if the account's inbound traffic should be allowed.
|
|
149
150
|
[451, 'account inbounds disabled'],
|
|
150
151
|
],
|
|
151
|
-
|
|
152
|
+
Sisimai::Eb::Re___1 => [
|
|
152
153
|
# - The customer account outbound emails are disabled in the Administration Console.
|
|
153
154
|
# - Contact Mimecast Support if the account's outbound traffic should be allowed.
|
|
154
155
|
[451, 'account outbounds disabled'],
|
|
@@ -164,7 +165,7 @@ module Sisimai
|
|
|
164
165
|
# Discontinue journaling old messages past the expiry threshold.
|
|
165
166
|
[550, 'journal message past expiration'],
|
|
166
167
|
],
|
|
167
|
-
|
|
168
|
+
Sisimai::Eb::ReWONT => [
|
|
168
169
|
# - The message has triggered an Anti-Spoofing policy.
|
|
169
170
|
# - Create an Anti-Spoofing policy to take no action for the sender's address or IP ad-
|
|
170
171
|
# dress.
|
|
@@ -181,7 +182,7 @@ module Sisimai
|
|
|
181
182
|
[554, 'host network not allowed'],
|
|
182
183
|
[554, 'host network, not allowed'],
|
|
183
184
|
],
|
|
184
|
-
|
|
185
|
+
Sisimai::Eb::ReRATE => [
|
|
185
186
|
# - There are too many concurrent inbound connections for the account. The default is 20.
|
|
186
187
|
# - The IP address is automatically removed from the block list after five minutes.
|
|
187
188
|
# Continued invalid connections result in the IP being readded to the block list. En-
|
|
@@ -206,7 +207,7 @@ module Sisimai
|
|
|
206
207
|
# - Send the messages in smaller chunks to recipients.
|
|
207
208
|
[550, 'exceeding outbound thread limit'],
|
|
208
209
|
],
|
|
209
|
-
|
|
210
|
+
Sisimai::Eb::ReFROM => [
|
|
210
211
|
# - The sender's email address or domain has triggered a Blocked Senders Policy or
|
|
211
212
|
# there's an SPF hard rejection.
|
|
212
213
|
# - Delete or modify the Blocked Senders policy to exclude the sender address.
|
|
@@ -224,7 +225,7 @@ module Sisimai
|
|
|
224
225
|
[550, 'rejected by header-based blocked senders - block policy for header from'],
|
|
225
226
|
[550, 'envelope rejected - block policy for envelope from address'],
|
|
226
227
|
],
|
|
227
|
-
|
|
228
|
+
Sisimai::Eb::ReSAFE => [
|
|
228
229
|
# - Messages submitted to SMTP port 587 require authentication. This error indicates
|
|
229
230
|
# the authentication details provided were incorrect.
|
|
230
231
|
# - Check your authentication details match an internal email address in Mimecast, with
|
|
@@ -234,7 +235,7 @@ module Sisimai
|
|
|
234
235
|
[550, 'submitter failed to disabled'],
|
|
235
236
|
[550, 'submitter failed to authenticate'],
|
|
236
237
|
],
|
|
237
|
-
|
|
238
|
+
Sisimai::Eb::ReSPAM => [
|
|
238
239
|
# - A signature was detected that could either be a virus, or a spam score over the
|
|
239
240
|
# maximum threshold. The spam score isn't available in the Administration Console. If
|
|
240
241
|
# you aren't a Mimecast customer but have emails rejected with this error code, con-
|
|
@@ -247,7 +248,7 @@ module Sisimai
|
|
|
247
248
|
# Activity and searching for the required email address.
|
|
248
249
|
[554, 'email rejected due to security policies'],
|
|
249
250
|
],
|
|
250
|
-
|
|
251
|
+
Sisimai::Eb::RePROC => [
|
|
251
252
|
# - The Mimecast server is under maximum load.
|
|
252
253
|
# - No action is required from the end-user. The message will retry 30 times and when
|
|
253
254
|
# server resources are available, the message is processed.
|
|
@@ -270,7 +271,7 @@ module Sisimai
|
|
|
270
271
|
# - Contact Mimecast Support.
|
|
271
272
|
[451, 'unable to process an email at this time'],
|
|
272
273
|
],
|
|
273
|
-
|
|
274
|
+
Sisimai::Eb::ReUSER => [
|
|
274
275
|
# - The email address isn't a valid SMTP address.
|
|
275
276
|
# - The sender must resend the message to a valid internal email address.
|
|
276
277
|
[501, 'invalid address'],
|
|
@@ -5,11 +5,12 @@ module Sisimai
|
|
|
5
5
|
# is called only Sisimai::Fact class.
|
|
6
6
|
module NTTDOCOMO
|
|
7
7
|
class << self
|
|
8
|
+
require 'sisimai/eb'
|
|
8
9
|
MessagesOf = {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
Sisimai::Eb::ReFULL => ['552 too much mail data'],
|
|
11
|
+
Sisimai::Eb::ReRATE => ['552 too many recipients'],
|
|
12
|
+
Sisimai::Eb::ReCOMM => ['503 bad sequence of commands', '504 command parameter not implemented'],
|
|
13
|
+
Sisimai::Eb::ReUSER => ['550 unknown user'],
|
|
13
14
|
}.freeze
|
|
14
15
|
|
|
15
16
|
# Detect bounce reason from NTT DOCOMO
|
|
@@ -44,15 +45,15 @@ module Sisimai
|
|
|
44
45
|
# Final-Recipient: RFC822; ***@docomo.ne.jp
|
|
45
46
|
# Action: failed
|
|
46
47
|
# Status: 5.2.0
|
|
47
|
-
return
|
|
48
|
-
return
|
|
48
|
+
return Sisimai::Eb::ReUSER if statuscode == '5.1.1' || statuscode == '5.9.213'
|
|
49
|
+
return Sisimai::Eb::ReFILT if statuscode == '5.2.0'
|
|
49
50
|
|
|
50
51
|
MessagesOf.each_key do |e|
|
|
51
52
|
# The value of "Diagnostic-Code:" field is not empty
|
|
52
53
|
# - The key name is a bounce reason name
|
|
53
54
|
# - https://github.com/sisimai/go-sisimai/issues/64
|
|
54
55
|
# - After March 12, 2025, if an error message contains "550 Unknown user", the
|
|
55
|
-
# bounce reason will be definitively "
|
|
56
|
+
# bounce reason will be definitively "UserUnknown". This is because NTT DOCOMO
|
|
56
57
|
# no longer rejects emails via SMTP for domain-specific rejection or specified
|
|
57
58
|
# reception filters.
|
|
58
59
|
return e if MessagesOf[e].any? { |a| esmtperror.include?(a) }
|
|
@@ -84,8 +85,8 @@ module Sisimai
|
|
|
84
85
|
# Status: 5.0.0
|
|
85
86
|
# Remote-MTA: dns; mfsmax.docomo.ne.jp
|
|
86
87
|
# Diagnostic-Code: smtp; 550 Unknown user ***@docomo.ne.jp
|
|
87
|
-
return
|
|
88
|
-
return
|
|
88
|
+
return Sisimai::Eb::ReUSER if thecommand == Sisimai::Eb::CeRCPT
|
|
89
|
+
return Sisimai::Eb::ReFROM if thecommand == Sisimai::Eb::CeDATA
|
|
89
90
|
end
|
|
90
91
|
|
|
91
92
|
# 1. Rejected by other SMTP commands: AUTH, MAIL,
|
|
@@ -5,9 +5,10 @@ module Sisimai
|
|
|
5
5
|
# only from Sisimai::Fact class.
|
|
6
6
|
module Outlook
|
|
7
7
|
class << self
|
|
8
|
+
require 'sisimai/eb'
|
|
8
9
|
MessagesOf = {
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
Sisimai::Eb::ReHOST => ["The mail could not be delivered to the recipient because the domain is not reachable"],
|
|
11
|
+
Sisimai::Eb::ReUSER => ["Requested action not taken: mailbox unavailable"],
|
|
11
12
|
}.freeze
|
|
12
13
|
|
|
13
14
|
# Detect bounce reason from Microsoft Outlook.com: https://www.outlook.com/
|
|
@@ -5,6 +5,7 @@ module Sisimai
|
|
|
5
5
|
# called only Sisimai::Fact class.
|
|
6
6
|
module Spectrum
|
|
7
7
|
class << self
|
|
8
|
+
require 'sisimai/eb'
|
|
8
9
|
ErrorCodes = [
|
|
9
10
|
# https://www.spectrumbusiness.net/support/internet/understanding-email-error-codes
|
|
10
11
|
# Error codes are placed in one of two categories: incoming or outgoing.
|
|
@@ -19,81 +20,81 @@ module Sisimai
|
|
|
19
20
|
# 1000 Your IP address has been blocked due to suspicious activity. If you're a Spectrum
|
|
20
21
|
# customer using a Spectrum-issued IP, contact us. If you're using an IP address
|
|
21
22
|
# other than one provided by Spectrum, blocks will remain in place until they expire.
|
|
22
|
-
[1000, 0,
|
|
23
|
+
[1000, 0, Sisimai::Eb::ReBLOC],
|
|
23
24
|
|
|
24
25
|
# 1010 This email account has been blocked from sending emails due to suspicious activity.
|
|
25
26
|
# Blocks will expire based on the nature of the activity. If you're a Spectrum customer,
|
|
26
27
|
# change all of your Spectrum passwords to secure your account and then contact us.
|
|
27
|
-
[1010, 0,
|
|
28
|
+
[1010, 0, Sisimai::Eb::ReFROM],
|
|
28
29
|
|
|
29
30
|
# 1020 This email account has limited access to send emails based on suspicious activity.
|
|
30
31
|
# 1080 Blocks will expire based on the nature of the activity.
|
|
31
32
|
# If you're a Spectrum customer, contact us to remove the block.
|
|
32
|
-
[1020, 1080,
|
|
33
|
+
[1020, 1080, Sisimai::Eb::ReFROM],
|
|
33
34
|
|
|
34
35
|
# 1090 The email you're trying to send can't be processed. Try sending again at a later time.
|
|
35
|
-
[1090, 0,
|
|
36
|
+
[1090, 0, Sisimai::Eb::RePROC],
|
|
36
37
|
|
|
37
38
|
# 1100 The IP address you're trying to connect from has an issue with the Domain Name System.
|
|
38
39
|
# 1150 Spectrum requires a full circle DNS for emails to be allowed through. Verify the IP
|
|
39
40
|
# you're connecting from, and check the IP address to ensure a reverse DNS entry exists
|
|
40
41
|
# for the IP. If the IP address is a Spectrum-provided email address, contact us.
|
|
41
|
-
[1100, 1150,
|
|
42
|
+
[1100, 1150, Sisimai::Eb::ReQPTR],
|
|
42
43
|
|
|
43
44
|
# 1160 The email you tried to send goes against your domain's security policies.
|
|
44
45
|
# 1190 Please contact the email administrators of your domain.
|
|
45
|
-
[1160, 1190,
|
|
46
|
+
[1160, 1190, Sisimai::Eb::ReWONT],
|
|
46
47
|
|
|
47
48
|
# 1200 The IP address you're trying to send from has been flagged by Cloudmark CSI as
|
|
48
49
|
# 1210 potential spam. Have your IP administrator request a reset.
|
|
49
50
|
# Note: Cloudmark has sole discretion whether to remove the sending IP address from
|
|
50
51
|
# their lists.
|
|
51
|
-
[1200, 1210,
|
|
52
|
+
[1200, 1210, Sisimai::Eb::ReBLOC],
|
|
52
53
|
|
|
53
54
|
# 1220 Your IP address has been blacklisted by Spamhaus. The owner of the IP address must
|
|
54
55
|
# 1250 contact Spamhaus to be removed from the list.
|
|
55
56
|
# Note: Spamhaus has sole discretion whether to remove the sending IP address from
|
|
56
57
|
# their lists.
|
|
57
|
-
[1220, 1250,
|
|
58
|
+
[1220, 1250, Sisimai::Eb::ReBLOC],
|
|
58
59
|
|
|
59
60
|
# 1260 Spectrum doesn't process IPV6 addresses. Connect with an IPv4 address and try again.
|
|
60
|
-
[1260, 0,
|
|
61
|
+
[1260, 0, Sisimai::Eb::ReINET],
|
|
61
62
|
|
|
62
63
|
# 1300 Spectrum limits the number of concurrent connections from a sender, as well as the
|
|
63
64
|
# 1340 total number of connections allowed. Limits vary based on the reputation of the IP
|
|
64
65
|
# address. Reduce your number of connections and try again later.
|
|
65
|
-
[1300, 1340,
|
|
66
|
+
[1300, 1340, Sisimai::Eb::ReRATE],
|
|
66
67
|
|
|
67
68
|
# 1350 Spectrum limits emails by the number of messages sent, amount of recipients,
|
|
68
69
|
# 1490 potential for spam and invalid recipients.
|
|
69
|
-
[1350, 1490,
|
|
70
|
+
[1350, 1490, Sisimai::Eb::ReRATE],
|
|
70
71
|
|
|
71
72
|
# 1500 Your email was rejected for attempting to send as a different email address than you
|
|
72
73
|
# signed in under. Check that you're sending emails from the address you signed in with.
|
|
73
|
-
[1500, 0,
|
|
74
|
+
[1500, 0, Sisimai::Eb::ReFROM],
|
|
74
75
|
|
|
75
76
|
# 1520 Your email was rejected for attempting to send as a different email address than a
|
|
76
77
|
# domain that we host. Check the outgoing email address and try again.
|
|
77
|
-
[1520, 0,
|
|
78
|
+
[1520, 0, Sisimai::Eb::ReFROM],
|
|
78
79
|
|
|
79
80
|
# 1530 Your email was rejected because it's larger than the maximum size of 20MB.
|
|
80
|
-
[1530, 0,
|
|
81
|
+
[1530, 0, Sisimai::Eb::ReSIZE],
|
|
81
82
|
|
|
82
83
|
# 1540 Your emails were deferred for attempting to send too many in a single session.
|
|
83
84
|
# Reconnect and try reducing the number of emails you send at one time.
|
|
84
|
-
[1540, 0,
|
|
85
|
+
[1540, 0, Sisimai::Eb::ReRATE],
|
|
85
86
|
|
|
86
87
|
# 1550 Your email was rejected for having too many recipients in one message. Reduce the
|
|
87
88
|
# number of recipients and try again later.
|
|
88
|
-
[1550, 0,
|
|
89
|
+
[1550, 0, Sisimai::Eb::ReRATE],
|
|
89
90
|
|
|
90
91
|
# 1560 Your email was rejected for having too many invalid recipients. Check your outgoing
|
|
91
92
|
# email addresses and try again later.
|
|
92
|
-
[1560, 0,
|
|
93
|
+
[1560, 0, Sisimai::Eb::ReRATE],
|
|
93
94
|
|
|
94
95
|
# 1580 You've tried to send messages to too many recipients in a short period of time.
|
|
95
96
|
# Wait a little while and try again later.
|
|
96
|
-
[1580, 0,
|
|
97
|
+
[1580, 0, Sisimai::Eb::ReRATE],
|
|
97
98
|
].freeze
|
|
98
99
|
|
|
99
100
|
# Detect bounce reason from https://www.spectrum.com/
|
|
@@ -5,20 +5,21 @@ module Sisimai
|
|
|
5
5
|
# only Sisimai::Fact class.
|
|
6
6
|
module Tencent
|
|
7
7
|
class << self
|
|
8
|
+
require 'sisimai/eb'
|
|
8
9
|
MessagesOf = {
|
|
9
|
-
|
|
10
|
+
Sisimai::Eb::ReAUTH => [
|
|
10
11
|
'spf check failed', # https://service.mail.qq.com/detail/122/72
|
|
11
12
|
'dmarc check failed',
|
|
12
13
|
],
|
|
13
|
-
|
|
14
|
+
Sisimai::Eb::ReBLOC => [
|
|
14
15
|
'suspected bounce attacks', # https://service.mail.qq.com/detail/122/57
|
|
15
16
|
'suspected spam ip', # https://service.mail.qq.com/detail/122/66
|
|
16
17
|
'connection denied', # https://service.mail.qq.com/detail/122/170
|
|
17
18
|
],
|
|
18
|
-
|
|
19
|
+
Sisimai::Eb::ReSIZE => [
|
|
19
20
|
'message too large', # https://service.mail.qq.com/detail/122/168
|
|
20
21
|
],
|
|
21
|
-
|
|
22
|
+
Sisimai::Eb::ReRATE => [
|
|
22
23
|
'mailbox unavailable or access denined', # https://service.mail.qq.com/detail/122/166
|
|
23
24
|
'ip frequency limited', # https://service.mail.qq.com/detail/122/172
|
|
24
25
|
'domain frequency limited', # https://service.mail.qq.com/detail/122/173
|
|
@@ -26,21 +27,21 @@ module Sisimai
|
|
|
26
27
|
'connection frequency limited', # https://service.mail.qq.com/detail/122/175
|
|
27
28
|
"frequency of receiving messages is limited", # https://service.mail.qq.com/detail/122/1011
|
|
28
29
|
],
|
|
29
|
-
|
|
30
|
+
Sisimai::Eb::ReFROM => [
|
|
30
31
|
'suspected spam', # https://service.mail.qq.com/detail/122/71
|
|
31
32
|
'mail is rejected by recipients', # https://service.mail.qq.com/detail/122/92
|
|
32
33
|
],
|
|
33
|
-
|
|
34
|
+
Sisimai::Eb::ReSPAM => [
|
|
34
35
|
'spam is embedded in the email', # https://service.mail.qq.com/detail/122/59
|
|
35
36
|
'mail content denied', # https://service.mail.qq.com/detail/122/171
|
|
36
37
|
],
|
|
37
|
-
|
|
38
|
+
Sisimai::Eb::ReQUIT => [
|
|
38
39
|
'is a deactivated mailbox', # http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=20022&&no=1000742
|
|
39
40
|
],
|
|
40
|
-
|
|
41
|
+
Sisimai::Eb::ReCOMM => [
|
|
41
42
|
'bad address syntax', # https://service.mail.qq.com/detail/122/167
|
|
42
43
|
],
|
|
43
|
-
|
|
44
|
+
Sisimai::Eb::ReUSER => [
|
|
44
45
|
'mailbox not found', # https://service.mail.qq.com/detail/122/169
|
|
45
46
|
],
|
|
46
47
|
}.freeze
|