sisimai 5.7.0-java → 5.7.2-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 (102) 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 +25 -0
  5. data/README-JA.md +14 -13
  6. data/README.md +12 -12
  7. data/lib/sisimai/arf.rb +2 -1
  8. data/lib/sisimai/eb.rb +116 -0
  9. data/lib/sisimai/fact.rb +24 -17
  10. data/lib/sisimai/lda.rb +20 -18
  11. data/lib/sisimai/lhost/amazonses.rb +11 -10
  12. data/lib/sisimai/lhost/courier.rb +4 -3
  13. data/lib/sisimai/lhost/domino.rb +2 -1
  14. data/lib/sisimai/lhost/einsundeins.rb +3 -2
  15. data/lib/sisimai/lhost/exchange2003.rb +8 -7
  16. data/lib/sisimai/lhost/exchange2007.rb +14 -13
  17. data/lib/sisimai/lhost/exim.rb +7 -6
  18. data/lib/sisimai/lhost/ezweb.rb +4 -3
  19. data/lib/sisimai/lhost/fml.rb +4 -3
  20. data/lib/sisimai/lhost/gmail.rb +10 -9
  21. data/lib/sisimai/lhost/googlegroups.rb +3 -2
  22. data/lib/sisimai/lhost/googleworkspace.rb +2 -1
  23. data/lib/sisimai/lhost/imailserver.rb +3 -2
  24. data/lib/sisimai/lhost/kddi.rb +4 -3
  25. data/lib/sisimai/lhost/notes.rb +2 -1
  26. data/lib/sisimai/lhost/postfix.rb +7 -6
  27. data/lib/sisimai/lhost/qmail.rb +10 -9
  28. data/lib/sisimai/lhost/sendmail.rb +4 -3
  29. data/lib/sisimai/lhost/trendmicro.rb +2 -1
  30. data/lib/sisimai/lhost/v5sendmail.rb +2 -1
  31. data/lib/sisimai/lhost/verizon.rb +3 -2
  32. data/lib/sisimai/message.rb +5 -6
  33. data/lib/sisimai/reason/authfailure.rb +6 -5
  34. data/lib/sisimai/reason/badreputation.rb +5 -4
  35. data/lib/sisimai/reason/blocked.rb +6 -5
  36. data/lib/sisimai/reason/contenterror.rb +6 -5
  37. data/lib/sisimai/reason/delivered.rb +3 -2
  38. data/lib/sisimai/reason/emailtoolarge.rb +6 -5
  39. data/lib/sisimai/reason/expired.rb +3 -2
  40. data/lib/sisimai/reason/failedstarttls.rb +5 -3
  41. data/lib/sisimai/reason/feedback.rb +2 -1
  42. data/lib/sisimai/reason/filtered.rb +9 -8
  43. data/lib/sisimai/reason/hasmoved.rb +5 -4
  44. data/lib/sisimai/reason/hostunknown.rb +5 -4
  45. data/lib/sisimai/reason/mailboxfull.rb +7 -6
  46. data/lib/sisimai/reason/mailererror.rb +3 -2
  47. data/lib/sisimai/reason/networkerror.rb +3 -2
  48. data/lib/sisimai/reason/norelaying.rb +4 -3
  49. data/lib/sisimai/reason/notaccept.rb +5 -4
  50. data/lib/sisimai/reason/notcompliantrfc.rb +4 -3
  51. data/lib/sisimai/reason/onhold.rb +8 -7
  52. data/lib/sisimai/reason/policyviolation.rb +7 -6
  53. data/lib/sisimai/reason/ratelimited.rb +5 -4
  54. data/lib/sisimai/reason/rejected.rb +18 -14
  55. data/lib/sisimai/reason/requireptr.rb +5 -4
  56. data/lib/sisimai/reason/securityerror.rb +4 -3
  57. data/lib/sisimai/reason/spamdetected.rb +6 -5
  58. data/lib/sisimai/reason/suppressed.rb +4 -3
  59. data/lib/sisimai/reason/suspend.rb +4 -3
  60. data/lib/sisimai/reason/syntaxerror.rb +4 -3
  61. data/lib/sisimai/reason/systemerror.rb +3 -2
  62. data/lib/sisimai/reason/systemfull.rb +4 -3
  63. data/lib/sisimai/reason/undefined.rb +2 -1
  64. data/lib/sisimai/reason/userunknown.rb +13 -9
  65. data/lib/sisimai/reason/vacation.rb +2 -1
  66. data/lib/sisimai/reason/virusdetected.rb +6 -5
  67. data/lib/sisimai/reason.rb +45 -40
  68. data/lib/sisimai/rfc1894.rb +8 -2
  69. data/lib/sisimai/rfc2045.rb +6 -3
  70. data/lib/sisimai/rfc3464/thirdparty.rb +10 -9
  71. data/lib/sisimai/rfc3834.rb +4 -2
  72. data/lib/sisimai/rhost/aol.rb +3 -2
  73. data/lib/sisimai/rhost/apple.rb +12 -11
  74. data/lib/sisimai/rhost/cloudflare.rb +3 -2
  75. data/lib/sisimai/rhost/cox.rb +38 -37
  76. data/lib/sisimai/rhost/facebook.rb +17 -16
  77. data/lib/sisimai/rhost/franceptt.rb +39 -38
  78. data/lib/sisimai/rhost/godaddy.rb +35 -34
  79. data/lib/sisimai/rhost/google.rb +22 -21
  80. data/lib/sisimai/rhost/gsuite.rb +8 -7
  81. data/lib/sisimai/rhost/iua.rb +11 -10
  82. data/lib/sisimai/rhost/kddi.rb +3 -2
  83. data/lib/sisimai/rhost/messagelabs.rb +13 -12
  84. data/lib/sisimai/rhost/microsoft.rb +33 -32
  85. data/lib/sisimai/rhost/mimecast.rb +18 -17
  86. data/lib/sisimai/rhost/nttdocomo.rb +10 -9
  87. data/lib/sisimai/rhost/outlook.rb +3 -2
  88. data/lib/sisimai/rhost/spectrum.rb +19 -18
  89. data/lib/sisimai/rhost/tencent.rb +10 -9
  90. data/lib/sisimai/rhost/yahooinc.rb +11 -10
  91. data/lib/sisimai/rhost/zoho.rb +8 -7
  92. data/lib/sisimai/smtp/command.rb +13 -8
  93. data/lib/sisimai/smtp/failure.rb +9 -8
  94. data/lib/sisimai/smtp/reply.rb +23 -22
  95. data/lib/sisimai/smtp/status.rb +141 -140
  96. data/lib/sisimai/smtp/transcript.rb +3 -2
  97. data/lib/sisimai/string.rb +4 -3
  98. data/lib/sisimai/version.rb +1 -1
  99. data/lib/sisimai.rb +2 -1
  100. data/set-of-emails/maildir/bsd/lhost-postfix-81.eml +130 -0
  101. data/set-of-emails/should-not-crash/go-423-deeply-nested-mime-parts.eml +20050 -0
  102. metadata +5 -2
@@ -5,13 +5,14 @@ module Sisimai
5
5
  # called only from Sisimai::Fact class.
6
6
  module Facebook
7
7
  class << self
8
+ require 'sisimai/eb'
8
9
  ErrorCodes = {
9
10
  # http://postmaster.facebook.com/response_codes
10
11
  # NOT TESTD EXCEPT RCP-P2
11
- "authfailure" => [
12
+ Sisimai::Eb::ReAUTH => [
12
13
  "POL-P7", # The message does not comply with Facebook's Domain Authentication requirements.
13
14
  ],
14
- "blocked" => [
15
+ Sisimai::Eb::ReBLOC => [
15
16
  "POL-P1", # Your mail server's IP Address is listed on the Spamhaus PBL.
16
17
  "POL-P2", # Facebook will no longer accept mail from your mail server's IP Address.
17
18
  "POL-P3", # Facebook is not accepting messages from your mail server. This will persist for 4 to 8 hours.
@@ -20,59 +21,59 @@ module Sisimai
20
21
  "POL-T2", # ", but they may be retried later. This will persist for 4 to 8 hours.
21
22
  "POL-T3", # ", but they may be retried later. This will persist for 24 to 48 hours.
22
23
  ],
23
- "contenterror" => [
24
+ Sisimai::Eb::ReBODY => [
24
25
  "MSG-P2", # The message contains an attachment type that Facebook does not accept.
25
26
  ],
26
- "emailtoolarge" => [
27
+ Sisimai::Eb::ReSIZE => [
27
28
  "MSG-P1", # The message exceeds Facebook's maximum allowed size.
28
29
  "INT-P2", # The message exceeds Facebook's maximum allowed size.
29
30
  ],
30
- "filtered" => [
31
+ Sisimai::Eb::ReFILT => [
31
32
  "RCP-P2", # The attempted recipient's preferences prevent messages from being delivered.
32
33
  "RCP-P3", # The attempted recipient's privacy settings blocked the delivery.
33
34
  ],
34
- "mailboxfull" => [
35
+ Sisimai::Eb::ReFULL => [
35
36
  "INT-P7", # The attempted recipient has exceeded their storage quota.
36
37
  ],
37
- "notcompliantrfc" => [
38
+ Sisimai::Eb::ReNRFC => [
38
39
  "MSG-P3", # The message contains multiple instances of a header field that can only be present once.
39
40
  ],
40
- "policyviolation" => [
41
+ Sisimai::Eb::ReWONT => [
41
42
  "POL-P8", # The message does not comply with Facebook's abuse policies and will not be accepted.
42
43
  ],
43
- "ratelimited" => [
44
+ Sisimai::Eb::ReRATE => [
44
45
  "CON-T1", # Facebook's mail server currently has too many connections open to allow another one.
45
46
  "CON-T2", # Your mail server currently has too many connections open to Facebook's mail servers.
46
47
  "CON-T3", # Your mail server has opened too many new connections to Facebook's mail servers in a short period of time.
47
48
  "CON-T4", # Your mail server has exceeded the maximum number of recipients for its current connection.
48
49
  "MSG-T1", # The number of recipients on the message exceeds Facebook's allowed maximum.
49
50
  ],
50
- "rejected" => [
51
+ Sisimai::Eb::ReFROM => [
51
52
  "DNS-P1", # Your SMTP MAIL FROM domain does not exist.
52
53
  "DNS-P2", # Your SMTP MAIL FROM domain does not have an MX record.
53
54
  "DNS-T1", # Your SMTP MAIL FROM domain exists but does not currently resolve.
54
55
  ],
55
- "requireptr" => [
56
+ Sisimai::Eb::ReQPTR => [
56
57
  "DNS-P3", # Your mail server does not have a reverse DNS record.
57
58
  "DNS-T2", # You mail server's reverse DNS record does not currently resolve.
58
59
  ],
59
- "spamdetected" => [
60
+ Sisimai::Eb::ReSPAM => [
60
61
  "POL-P6", # The message contains a url that has been blocked by Facebook.
61
62
  ],
62
- "suspend" => [
63
+ Sisimai::Eb::ReQUIT => [
63
64
  "RCP-T4", # The attempted recipient address is currently deactivated. The user may or may not reactivate it.
64
65
  ],
65
- "systemerror" => [
66
+ Sisimai::Eb::RePROC => [
66
67
  "RCP-T1", # The attempted recipient address is not currently available due to an internal system issue.
67
68
  "INT-Tx", # These codes indicate a temporary issue internal to Facebook's system.
68
69
  ],
69
- "userunknown" => [
70
+ Sisimai::Eb::ReUSER => [
70
71
  "RCP-P1", # The attempted recipient address does not exist.
71
72
  "INT-P1", # The attempted recipient address does not exist.
72
73
  "INT-P3", # The attempted recipient group address does not exist.
73
74
  "INT-P4", # The attempted recipient address does not exist.
74
75
  ],
75
- "virusdetected" => [
76
+ Sisimai::Eb::ReEXEC => [
76
77
  "POL-P5", # The message contains a virus.
77
78
  ],
78
79
  }.freeze
@@ -5,10 +5,11 @@ module Sisimai
5
5
  # This class is called only Sisimai::Fact class.
6
6
  module FrancePTT
7
7
  class << self
8
+ require 'sisimai/eb'
8
9
  ErrorCodes = {
9
10
  # - Your sending IP is listed on Abusix RBL
10
11
  # Please visit: https://lookup.abusix.com/search?q=$IP
11
- "100" => 'blocked',
12
+ "100" => Sisimai::Eb::ReBLOC,
12
13
 
13
14
  # - Your sending IP is listed by SpamHaus RBL
14
15
  # Please visit: https://check.spamhaus.org/listed/?searchterm=$IP
@@ -19,7 +20,7 @@ module Sisimai
19
20
  # - The emails sent to the mail host Laposte.net were blocked by our services. To regularize
20
21
  # your situation please click on the link below and follow the procedure
21
22
  # https://www.spamhaus.org/lookup/ LPNAAA_101 (in reply to RCPT TO command))
22
- '101' => 'blocked',
23
+ '101' => Sisimai::Eb::ReBLOC,
23
24
 
24
25
  # - Your sending IP is listed by Cloudmark RBL
25
26
  # Please visit: https://csi.cloudmark.com/reset-request/?ip=$IP#
@@ -31,39 +32,39 @@ module Sisimai
31
32
  # - The emails sent to the mail host Laposte.net were blocked by our services. To regularize
32
33
  # your situation please click on the link below and follow the procedure
33
34
  # https://senderscore.org/blacklistlookup/ LPN007_102
34
- '102' => 'blocked',
35
+ '102' => Sisimai::Eb::ReBLOC,
35
36
 
36
37
  # - Your sending IP has been blacklisted by Orange
37
38
  # Please contact Orange by using our contact form and select option
38
39
  # "Un problème d'envoi d'emails vers les adresses Orange ou Wanadoo (deliverability issue)"
39
40
  # - 550 mwinf5c10 ME Service refuse. Veuillez essayer plus tard.
40
41
  # - Service refused, please try later. OFR006_103 192.0.2.1 [103]
41
- '103' => 'blocked',
42
+ '103' => Sisimai::Eb::ReBLOC,
42
43
 
43
44
  # - 421 mwinf5c79 ME Trop de connexions, veuillez verifier votre configuration.
44
45
  # - Too many connections, slow down. OFR005_104 [104]
45
46
  # - Too many connections, slow down. LPN105_104
46
- '104' => 'ratelimited',
47
+ '104' => Sisimai::Eb::ReRATE,
47
48
 
48
49
  # - Your IP address is missing a DNS PTR record, it also called a rDNS (reverse DNS)
49
50
  # Please set up a valid DNS PTR record for your IP address that point to your domain,
50
51
  # It's important that the sending IP address must match the IP address of the hostname
51
52
  # defined in the PTR record
52
53
  # - Service refused, please try later. LPN006_107
53
- "107" => 'requireptr',
54
+ "107" => Sisimai::Eb::ReQPTR,
54
55
 
55
56
  # - You are sending too many messages per SMTP connection
56
57
  # Please reduce the number of messages per connection, recommended value is 100
57
58
  # messages per connections
58
59
  # - Veuillez essayer plus tard. LPN003_109
59
- "109" => 'ratelimited',
60
+ "109" => Sisimai::Eb::ReRATE,
60
61
 
61
62
  # - Invalid HELO/EHLO
62
63
  # Please set up a valid HELO/EHLO, it must be fully qualified domain name (FQDN) and
63
64
  # should resolve (DNS record needed). E.g.: "mail.yourdomain.com"
64
65
  # - Veuillez essayer plus tard. OFR004_201
65
- "201" => 'blocked',
66
- "20X" => 'blocked',
66
+ "201" => Sisimai::Eb::ReBLOC,
67
+ "20X" => Sisimai::Eb::ReBLOC,
67
68
 
68
69
  # - Sender's Domain name SPF Error
69
70
  # Please verify your mail from domain name DNS/TXT configuration for your SPF
@@ -71,7 +72,7 @@ module Sisimai
71
72
  # to check your domain. (replace $YOUR_DOMAIN by your sender domain name)
72
73
  # Please note:
73
74
  # If you have changed your DNS record recently, please let DNS caches expire (TTL)
74
- "39X" => 'authfailure',
75
+ "39X" => Sisimai::Eb::ReAUTH,
75
76
 
76
77
  # - Sender's Domain DNS Error
77
78
  # Please verify your mail from domain name DNS configuration. Your domain name must
@@ -80,94 +81,94 @@ module Sisimai
80
81
  # If you have changed your DNS record recently, please let DNS caches expire (TTL)
81
82
  # - 5.0.1 Emetteur invalide. Invalid Sender. LPN105_405
82
83
  # - 501 5.1.0 Emetteur invalide. Invalid Sender. OFR004_405 [405] (in reply to MAIL FROM command))
83
- '405' => 'rejected',
84
+ '405' => Sisimai::Eb::ReFROM,
84
85
 
85
86
  # - Your Sender has been rejected
86
87
  # Please contact Orange by using our contact form and select option
87
88
  # "Un problème d'envoi d'emails vers les adresses Orange ou Wanadoo (deliverability issue)"
88
- "406" => 'rejected',
89
+ "406" => Sisimai::Eb::ReFROM,
89
90
 
90
91
  # - User doesn't exist here
91
92
  # Please remove this email address from your distribution list, it does not exist
92
93
  # - 550 5.1.1 Adresse d au moins un destinataire invalide.
93
94
  # - Invalid recipient. LPN416 (in reply to RCPT TO command)
94
95
  # - Invalid recipient. OFR_416 [416] (in reply to RCPT TO command)
95
- '416' => 'userunknown',
96
+ '416' => Sisimai::Eb::ReUSER,
96
97
 
97
98
  # - 552 5.1.1 Boite du destinataire pleine.
98
99
  # - Recipient overquota. OFR_417 [417] (in reply to RCPT TO command))
99
- '417' => 'mailboxfull',
100
+ '417' => Sisimai::Eb::ReFULL,
100
101
 
101
102
  # - 550 5.5.0 Boite du destinataire archivee.
102
103
  # - Archived recipient. LPN007_420 (in reply to RCPT TO command)
103
- '420' => 'suspend',
104
+ '420' => Sisimai::Eb::ReQUIT,
104
105
 
105
106
  # - Your sender domain name has been blacklisted
106
107
  # Your sender domain name has been blacklisted by Abusix OR SpamHaus, Please visit:
107
108
  # - https://lookup.abusix.com/search?q=$YOUR_DOMAIN
108
109
  # - https://check.spamhaus.org/listed/?searchterm=$YOUR_DOMAIN
109
- "425" => 'rejected',
110
+ "425" => Sisimai::Eb::ReFROM,
110
111
 
111
112
  # - 550 5.5.0 Le compte du destinataire est bloque. The recipient account isblocked.
112
113
  # LPN007_426 (in reply to RCPT TO command)
113
- '426' => 'suspend',
114
+ '426' => Sisimai::Eb::ReQUIT,
114
115
 
115
116
  # - 421 4.2.0 Service refuse. Veuillez essayer plus tard. Service refused, please try later.
116
117
  # OFR005_505 [505] (in reply to end of DATA command)
117
118
  # - 421 4.2.1 Service refuse. Veuillez essayer plus tard. Service refused, please try later.
118
119
  # LPN007_505 (in reply to end of DATA command)
119
- '505' => 'systemerror',
120
+ '505' => Sisimai::Eb::RePROC,
120
121
 
121
122
  # - Your message has been blocked by Orange, suspected spam
122
123
  # Please contact Orange by using our contact form and select option
123
124
  # "Un problème d'envoi d'emails vers les adresses Orange ou Wanadoo (deliverability issue)"
124
125
  # - Mail rejete. Mail rejected. OFR_506 [506]
125
- '506' => 'spamdetected',
126
+ '506' => Sisimai::Eb::ReSPAM,
126
127
 
127
128
  # - 550 5.5.0 Service refuse. Veuillez essayer plus tard. service refused, please try later.
128
129
  # LPN005_510 (in reply to end of DATA command)
129
- '510' => 'blocked',
130
+ '510' => Sisimai::Eb::ReBLOC,
130
131
 
131
132
  # - DMARC authentication failed, message rejected as defined by your DMARC policy
132
133
  # Please check your SPF/DKIM/DMARC configuration. Please visit MxToolBox DMARC to
133
134
  # check your domain configuration
134
- "515" => 'authfailure',
135
+ "515" => Sisimai::Eb::ReAUTH,
135
136
 
136
137
  # - 571 5.7.1 Message refused, DMARC verification Failed.
137
138
  # - Message refuse, verification DMARC en echec LPN007_517
138
- '517' => 'authfailure',
139
+ '517' => Sisimai::Eb::ReAUTH,
139
140
 
140
141
  # - The sending IP address is not authorized to send messages for your domain as defined
141
142
  # in the sender's Domain name SPF configuration (DNS/TXT)
142
143
  # Please verify your mail from domain name DNS/TXT configuration for your SPF configuration.
143
144
  # Please visit https://mxtoolbox.com/supertool3?action=spf:$YOUR_DOMAIN to check your
144
145
  # domain. (replace $YOUR_DOMAIN by your sender domain name)
145
- "519" => 'authfailure',
146
+ "519" => Sisimai::Eb::ReAUTH,
146
147
 
147
148
  # - Due to bad behavior you have been rate limited, please try again later
148
149
  # Due to inappropriate behavior, you have been rate limited. Please check what you
149
150
  # are trying to send
150
151
  # - 421 mwinf5c77 ME Service refuse. Veuillez essayer plus tard. Service refused, please try
151
152
  # later. OFR_999 [999]
152
- "99X" => 'ratelimited',
153
+ "99X" => Sisimai::Eb::ReRATE,
153
154
 
154
155
  # Other undocumented or old error codes
155
- "105" => "", # Veuillez essayer plus tard.
156
- "108" => "", # service refused, please try later. LPN001_108
157
- "305" => "securityerror", # 550 5.7.0 Code d'authentification invalide OFR_305
158
- "401" => "authfailure", # 550 5.5.0 SPF: *** is not allowed to send mail. LPN004_401
159
- "402" => "securityerror", # 550 5.5.0 Authentification requise. Authentication Required. LPN105_402
160
- "403" => "rejected", # 5.0.1 Emetteur invalide. Invalid Sender.
161
- "415" => "rejected", # Emetteur invalide. Invalid Sender. OFR_415
162
- "421" => "rejected", # 5.5.3 Mail from not owned by user. LPN105_421.
163
- "423" => "", # Service refused, please try later. LPN105_423
164
- "424" => "", # Veuillez essayer plus tard. LPN105_424
165
- "513" => "", # Mail rejete. Mail rejected. OUK_513
166
- "514" => "messagetoobig", # Taille limite du message atteinte
167
- "630" => "policyviolation", # 554 5.7.1 Client host rejected LPN000_630
156
+ "105" => "", # Veuillez essayer plus tard.
157
+ "108" => "", # service refused, please try later. LPN001_108
158
+ "305" => Sisimai::Eb::ReSAFE, # 550 5.7.0 Code d'authentification invalide OFR_305
159
+ "401" => Sisimai::Eb::ReAUTH, # 550 5.5.0 SPF: *** is not allowed to send mail. LPN004_401
160
+ "402" => Sisimai::Eb::ReSAFE, # 550 5.5.0 Authentification requise. Authentication Required. LPN105_402
161
+ "403" => Sisimai::Eb::ReFROM, # 5.0.1 Emetteur invalide. Invalid Sender.
162
+ "415" => Sisimai::Eb::ReFROM, # Emetteur invalide. Invalid Sender. OFR_415
163
+ "421" => Sisimai::Eb::ReFROM, # 5.5.3 Mail from not owned by user. LPN105_421.
164
+ "423" => "", # Service refused, please try later. LPN105_423
165
+ "424" => "", # Veuillez essayer plus tard. LPN105_424
166
+ "513" => "", # Mail rejete. Mail rejected. OUK_513
167
+ "514" => Sisimai::Eb::ReSIZE, # Taille limite du message atteinte
168
+ "630" => Sisimai::Eb::ReWONT, # 554 5.7.1 Client host rejected LPN000_630
168
169
  }.freeze
169
170
  MessagesOf = {
170
- 'authfailure' => [
171
+ Sisimai::Eb::ReAUTH => [
171
172
  # - 421 smtp.orange.fr [192.0.2.1] Emetteur invalide, Veuillez verifier la configuration
172
173
  # SPF/DNS de votre nom de domaine. Invalid Sender. SPF check failed, please verify the
173
174
  # SPF/DNS configuration for your domain name.
@@ -5,6 +5,7 @@ module Sisimai
5
5
  # called only Sisimai::Fact class.
6
6
  module GoDaddy
7
7
  class << self
8
+ require 'sisimai/eb'
8
9
  # https://www.godaddy.com/help/what-does-my-email-bounceback-mean-3568
9
10
  ErrorCodes = {
10
11
  # Sender bounces
@@ -13,19 +14,19 @@ module Sisimai
13
14
  # - Authentication is not allowed on inbound mail. This happens when you have incorrect
14
15
  # outgoing SMTP server settings set up in your email client, like Outlook or Gmail.
15
16
  # - Set up your email client using the SMTP server setting smtpout.secureserver.net.
16
- 'IB401' => 'securityerror',
17
+ 'IB401' => Sisimai::Eb::ReSAFE,
17
18
 
18
19
  # - 550 jane@coolexample.com Blank From: addresses are not allowed. Provide a valid From.
19
20
  # IB501
20
21
  # - The email message "from" field is blank.
21
22
  # - Add a valid "from" address and try to send the email again.
22
- 'IB501' => 'notcompliantrfc',
23
+ 'IB501' => Sisimai::Eb::ReNRFC,
23
24
 
24
25
  # - 550 jane@coolexample.com IP addresses are not allowed as a From: Address. Provide a
25
26
  # valid From. IB502
26
27
  # - Email messages can't be sent "from" an IP address.
27
28
  # - Add a valid "from" address and try to send the email again.
28
- 'IB502' => 'notcompliantrfc',
29
+ 'IB502' => Sisimai::Eb::ReNRFC,
29
30
 
30
31
  # - 550 coolexample.com From: Domain is invalid. Provide a valid From: IB506
31
32
  # - The domain doesn't have valid MX Records, an IP address, or there were issues during
@@ -33,7 +34,7 @@ module Sisimai
33
34
  # - Verify that you're sending from a valid domain. Then verify that the domain has valid
34
35
  # DNS records by checking your zone file. If the DNS isn't valid, it must be fixed
35
36
  # before you resend the email.
36
- 'IB506' => 'rejected',
37
+ 'IB506' => Sisimai::Eb::ReFROM,
37
38
 
38
39
  # - 550 jane@coolexample.com Invalid SPF record. Inspect your SPF settings, and try again.
39
40
  # IB508
@@ -41,7 +42,7 @@ module Sisimai
41
42
  # sending email server to send email from the domain.
42
43
  # - Modify the SPF record to include the server you're trying to send from or remove the
43
44
  # SPF record from the domain.
44
- 'IB508' => 'authfailure',
45
+ 'IB508' => Sisimai::Eb::ReAUTH,
45
46
 
46
47
  # - 421 Temporarily rejected. Reverse DNS for this IP failed. IB108
47
48
  # - The IP address attempting to send mail does not have reverse DNS setup, or the DNS
@@ -49,19 +50,19 @@ module Sisimai
49
50
  # - Verify the sending IP address has reverse DNS set up before resending the email.
50
51
  # GoDaddy manages reverse DNS when using our email services. We do not support custom
51
52
  # reverse DNS.
52
- 'IB108' => 'requireptr',
53
+ 'IB108' => Sisimai::Eb::ReQPTR,
53
54
 
54
55
  # Content bounces
55
56
  # ---------------------------------------------------------------------------------------
56
57
  # - 552 This message has been rejected due to content judged to be spam by the internet
57
58
  # community. IB212
58
59
  # - The email message contains a link, attachment or pattern caught by our filters as spam.
59
- 'IB212' => 'spamdetected',
60
+ 'IB212' => Sisimai::Eb::ReSPAM,
60
61
 
61
62
  # - 552 Virus infected message rejected. IB705
62
63
  # - The email message containing a link, attachment or pattern caught by our filters as a
63
64
  # possible virus.
64
- 'IB705' => 'virusdetected',
65
+ 'IB705' => Sisimai::Eb::ReEXEC,
65
66
 
66
67
  # Rate limiting bounces
67
68
  # ---------------------------------------------------------------------------------------
@@ -69,19 +70,19 @@ module Sisimai
69
70
  # retry. IB605
70
71
  # - The message has attempted to mail too many recipients.
71
72
  # - Reduce the number of recipients and try again.
72
- 'IB605' => 'ratelimited',
73
+ 'IB605' => Sisimai::Eb::ReRATE,
73
74
 
74
75
  # - 421 Connection refused, too many sessions from This IP. Lower the number of concurrent
75
76
  # sessions. IB007
76
77
  # - This IP address currently has too many sessions open.
77
78
  # - Check with your email provider to reduce the number of open sessions on your IP
78
79
  # address and then try again.
79
- 'IB007' => 'ratelimited',
80
+ 'IB007' => Sisimai::Eb::ReRATE,
80
81
 
81
82
  # - 421 Server temporarily unavailable. Try again later. IB101
82
83
  # - The email queue is experiencing higher than normal email volume.
83
84
  # - Try again later.
84
- 'IB101' => 'ratelimited',
85
+ 'IB101' => Sisimai::Eb::ReRATE,
85
86
 
86
87
  # - 554 This IP has been temporarily blocked for attempting to send too many messages
87
88
  # containing content judged to be spam by the Internet community. IB110
@@ -90,60 +91,60 @@ module Sisimai
90
91
  # - If you're not sending spam, you'll need to contact your Internet Service Provider
91
92
  # (ISP) to see why your IP address is sending so many emails. Something in your system
92
93
  # is causing the issue, and you'll need to troubleshoot.
93
- 'IB110' => 'blocked',
94
+ 'IB110' => Sisimai::Eb::ReBLOC,
94
95
 
95
96
  # - 554 This IP has been blocked for the day, for attempting to send too many messages
96
97
  # containing content judged to be spam by the Internet community. IB111
97
98
  # - This IP address has attempted to send too many messages containing content judged to
98
99
  # be spam and has been blocked for the remainder of the day.
99
- 'IB111' => 'blocked',
100
+ 'IB111' => Sisimai::Eb::ReBLOC,
100
101
 
101
102
  # - 554 This IP has been temporarily blocked for attempting to mail too many invalid
102
103
  # recipients. IB112
103
104
  # - This IP address has attempted to email too many invalid recipients and has been
104
105
  # blocked for an hour.
105
- 'IB112' => 'blocked',
106
+ 'IB112' => Sisimai::Eb::ReBLOC,
106
107
 
107
108
  # - 554 This IP has been blocked for the day, for attempting to mail too many invalid
108
109
  # recipients. IB113
109
110
  # - This IP address has attempted to email too many invalid recipients and has been
110
111
  # blocked for the remainder of the day.
111
- 'IB113' => 'blocked',
112
+ 'IB113' => Sisimai::Eb::ReBLOC,
112
113
 
113
114
  # - 550 This IP has sent too many messages this hour. IB504
114
115
  # - This IP address has reached the maximum allowed messages for that hour.
115
- 'IB504' => 'ratelimited',
116
+ 'IB504' => Sisimai::Eb::ReRATE,
116
117
 
117
118
  # - 550 This message has exceeded the max number of messages per session. Open a new
118
119
  # session and try again. IB510
119
120
  # - This IP address has reached the maximum allowed messages for that session.
120
- 'IB510' => 'ratelimited',
121
+ 'IB510' => Sisimai::Eb::ReRATE,
121
122
 
122
123
  # - 550 This IP has sent too many to too many recipients this hour. IB607
123
124
  # - This IP address has reached the maximum allowed recipients for that hour.
124
- 'IB607' => 'ratelimited',
125
+ 'IB607' => Sisimai::Eb::ReRATE,
125
126
 
126
127
  # Remote block list (RBL) bounces
127
128
  # ---------------------------------------------------------------------------------------
128
129
  # - 554 Connection refused. This IP has a poor reputation on Cloudmark Sender Intelligence
129
130
  # (CSI). IB103
130
131
  # - This IP address has a poor reputation on Cloudmark Sender Intelligence (CSI).
131
- 'IB103' => 'badreputation',
132
+ 'IB103' => Sisimai::Eb::ReFAMA,
132
133
 
133
134
  # - 554 Connection refused. This IP address is listed on the Spamhaus Block List (SBL). IB104
134
135
  # - This IP address is listed on the Spamhaus Block List.
135
- 'IB104' => 'blocked',
136
+ 'IB104' => Sisimai::Eb::ReBLOC,
136
137
 
137
138
  # - 554 Connection refused. This IP address is listed on the Exploits Block List (XBL). IB105
138
139
  # - This IP address is listed on the Spamhaus Exploits Block List.
139
- 'IB105' => 'blocked',
140
+ 'IB105' => Sisimai::Eb::ReBLOC,
140
141
 
141
142
  # - 554 Connection refused. This IP address is listed on the Policy Block List (PBL). IB106
142
143
  # - This IP address is listed on the Spamhaus Policy Block List.
143
- 'IB106' => 'blocked',
144
+ 'IB106' => Sisimai::Eb::ReBLOC,
144
145
  }.freeze
145
146
  MessagesOf = {
146
- 'authfailure' => [
147
+ Sisimai::Eb::ReAUTH => [
147
148
  # - 550 SPF Sender Invalid - envelope rejected
148
149
  # - 550 5.7.9: This mail has been blocked because the sender is unauthenticated
149
150
  # - 550-5.7.26 DKIM = did not pass
@@ -151,14 +152,14 @@ module Sisimai
151
152
  "this mail has been blocked because the sender is unauthenticated",
152
153
  "dkim = did not pass",
153
154
  ],
154
- 'blocked' => [
155
+ Sisimai::Eb::ReBLOC => [
155
156
  # - 554 RBL Reject.
156
157
  # - This IP address was blocked from our internal RBL.
157
158
  # - Use the link provided in the bounceback to submit a request to remove this IP address.
158
159
  'rbl reject',
159
160
  'www.spamhaus.org/query/bl?ip='
160
161
  ],
161
- 'expired' => [
162
+ Sisimai::Eb::ReTIME => [
162
163
  # - 451 Sorry, I wasn't able to establish an SMTP connection.
163
164
  # I'm not going to try again; this message has been in the queue too long.
164
165
  # - The recipient's email address has been misspelled or the recipient's email provider
@@ -169,7 +170,7 @@ module Sisimai
169
170
  # - This could happen for several reasons.
170
171
  'delivery timeout',
171
172
  ],
172
- 'mailboxfull' => [
173
+ Sisimai::Eb::ReFULL => [
173
174
  # - Account storage limit
174
175
  # - The recipient's account has reached its storage limit and can't receive email right
175
176
  # now.
@@ -177,45 +178,45 @@ module Sisimai
177
178
  # make space for more email.
178
179
  'account storage limit',
179
180
  ],
180
- 'norelaying' => [
181
+ Sisimai::Eb::RePASS => [
181
182
  # - 550 5.7.1: Relay access denied
182
183
  "relay access denied",
183
184
  ],
184
- 'ratelimited' => [
185
+ Sisimai::Eb::ReRATE => [
185
186
  # - 550 5.7.232 Your message can't be sent because your trial tenant has exceeded
186
187
  # its daily limit for sending email to external recipients (tenant external recipient rate limit)
187
188
  # - 550 5.7.233 - Your message can't be sent because your tenant exceeded its daily
188
189
  # limit for sending email to external recipients (tenant external recipient rate limit)
189
190
  "exceeded its daily limit",
190
191
  ],
191
- 'rejected' => [
192
+ Sisimai::Eb::ReFROM => [
192
193
  # - 550 5.1.8 Access denied, bad outbound sender AS (42004)
193
194
  "bad outbound sender as (42004)",
194
195
  ],
195
- 'securityerror' => [
196
+ Sisimai::Eb::ReSAFE => [
196
197
  # - 550 Please turn on SMTP Authentication in your mail client
197
198
  "turn on smtp authentication in your mail client",
198
199
  ],
199
- 'spamdetected' => [
200
+ Sisimai::Eb::ReSPAM => [
200
201
  # - 552 Message rejected for spam or virus content
201
202
  # - The email message contains a link, attachment, or pattern caught by our filters as spam.
202
203
  'message rejected for spam or virus content',
203
204
  ],
204
- 'suspend' => [
205
+ Sisimai::Eb::ReQUIT => [
205
206
  # - Account disabled
206
207
  # - The recipient account exists but its ability to receive mail was disabled.
207
208
  # - Typically, these accounts remain permanently disabled, but you can try sending the
208
209
  # email again later.
209
210
  'account disabled',
210
211
  ],
211
- 'systemerror' => [
212
+ Sisimai::Eb::RePROC => [
212
213
  # - This message is looping: it already has my Delivered-To line. (#5.4.6)
213
214
  # - The recipient account is forwarding the message in a loop.
214
215
  # - This is oftentimes because the receiver has two addresses that forward to each
215
216
  # other. They need to correct their forwarding settings.
216
217
  'message is looping',
217
218
  ],
218
- 'userunknown' => [
219
+ Sisimai::Eb::ReUSER => [
219
220
  # - 550 Recipient not found
220
221
  # - The recipient is not a valid email address.
221
222
  # - Remove the invalid recipient from your email.