sisimai 5.6.0-java → 5.7.1-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 (130) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake-test.yml +0 -4
  3. data/ChangeLog.md +47 -0
  4. data/README-JA.md +19 -16
  5. data/README.md +23 -21
  6. data/lib/sisimai/address.rb +8 -31
  7. data/lib/sisimai/arf.rb +5 -6
  8. data/lib/sisimai/eb.rb +116 -0
  9. data/lib/sisimai/fact.rb +33 -51
  10. data/lib/sisimai/lda.rb +20 -18
  11. data/lib/sisimai/lhost/activehunter.rb +0 -2
  12. data/lib/sisimai/lhost/amazonses.rb +17 -18
  13. data/lib/sisimai/lhost/apachejames.rb +0 -1
  14. data/lib/sisimai/lhost/biglobe.rb +0 -16
  15. data/lib/sisimai/lhost/courier.rb +9 -7
  16. data/lib/sisimai/lhost/deutschetelekom.rb +120 -0
  17. data/lib/sisimai/lhost/domino.rb +2 -4
  18. data/lib/sisimai/lhost/dragonfly.rb +0 -27
  19. data/lib/sisimai/lhost/einsundeins.rb +4 -12
  20. data/lib/sisimai/lhost/exchange2003.rb +12 -11
  21. data/lib/sisimai/lhost/exchange2007.rb +17 -17
  22. data/lib/sisimai/lhost/exim.rb +34 -81
  23. data/lib/sisimai/lhost/ezweb.rb +15 -51
  24. data/lib/sisimai/lhost/fml.rb +8 -32
  25. data/lib/sisimai/lhost/gmail.rb +10 -32
  26. data/lib/sisimai/lhost/gmx.rb +7 -24
  27. data/lib/sisimai/lhost/googlegroups.rb +6 -5
  28. data/lib/sisimai/lhost/googleworkspace.rb +2 -5
  29. data/lib/sisimai/lhost/imailserver.rb +4 -9
  30. data/lib/sisimai/lhost/kddi.rb +8 -21
  31. data/lib/sisimai/lhost/mailfoundry.rb +0 -2
  32. data/lib/sisimai/lhost/mailmarshal.rb +1 -3
  33. data/lib/sisimai/lhost/messagingserver.rb +4 -15
  34. data/lib/sisimai/lhost/mfilter.rb +0 -1
  35. data/lib/sisimai/lhost/mimecast.rb +0 -1
  36. data/lib/sisimai/lhost/notes.rb +3 -3
  37. data/lib/sisimai/lhost/opensmtpd.rb +0 -40
  38. data/lib/sisimai/lhost/postfix.rb +14 -14
  39. data/lib/sisimai/lhost/qmail.rb +23 -89
  40. data/lib/sisimai/lhost/sendmail.rb +8 -7
  41. data/lib/sisimai/lhost/trendmicro.rb +5 -4
  42. data/lib/sisimai/lhost/v5sendmail.rb +2 -2
  43. data/lib/sisimai/lhost/verizon.rb +4 -4
  44. data/lib/sisimai/lhost/x1.rb +1 -2
  45. data/lib/sisimai/lhost/x2.rb +0 -2
  46. data/lib/sisimai/lhost/x3.rb +4 -9
  47. data/lib/sisimai/lhost/x6.rb +0 -1
  48. data/lib/sisimai/lhost/zoho.rb +0 -12
  49. data/lib/sisimai/lhost.rb +38 -19
  50. data/lib/sisimai/message.rb +1 -1
  51. data/lib/sisimai/order.rb +4 -1
  52. data/lib/sisimai/reason/authfailure.rb +8 -7
  53. data/lib/sisimai/reason/badreputation.rb +5 -4
  54. data/lib/sisimai/reason/blocked.rb +6 -5
  55. data/lib/sisimai/reason/contenterror.rb +8 -5
  56. data/lib/sisimai/reason/delivered.rb +3 -2
  57. data/lib/sisimai/reason/emailtoolarge.rb +7 -6
  58. data/lib/sisimai/reason/expired.rb +16 -4
  59. data/lib/sisimai/reason/failedstarttls.rb +5 -3
  60. data/lib/sisimai/reason/feedback.rb +2 -1
  61. data/lib/sisimai/reason/filtered.rb +9 -8
  62. data/lib/sisimai/reason/hasmoved.rb +5 -4
  63. data/lib/sisimai/reason/hostunknown.rb +14 -4
  64. data/lib/sisimai/reason/mailboxfull.rb +10 -8
  65. data/lib/sisimai/reason/mailererror.rb +3 -2
  66. data/lib/sisimai/reason/networkerror.rb +16 -3
  67. data/lib/sisimai/reason/norelaying.rb +8 -6
  68. data/lib/sisimai/reason/notaccept.rb +15 -7
  69. data/lib/sisimai/reason/notcompliantrfc.rb +5 -3
  70. data/lib/sisimai/reason/onhold.rb +8 -7
  71. data/lib/sisimai/reason/policyviolation.rb +11 -5
  72. data/lib/sisimai/reason/ratelimited.rb +5 -4
  73. data/lib/sisimai/reason/rejected.rb +24 -14
  74. data/lib/sisimai/reason/requireptr.rb +5 -4
  75. data/lib/sisimai/reason/securityerror.rb +5 -3
  76. data/lib/sisimai/reason/spamdetected.rb +6 -5
  77. data/lib/sisimai/reason/suppressed.rb +4 -3
  78. data/lib/sisimai/reason/suspend.rb +8 -3
  79. data/lib/sisimai/reason/syntaxerror.rb +5 -11
  80. data/lib/sisimai/reason/systemerror.rb +21 -2
  81. data/lib/sisimai/reason/systemfull.rb +4 -3
  82. data/lib/sisimai/reason/undefined.rb +2 -1
  83. data/lib/sisimai/reason/userunknown.rb +15 -9
  84. data/lib/sisimai/reason/vacation.rb +2 -1
  85. data/lib/sisimai/reason/virusdetected.rb +6 -5
  86. data/lib/sisimai/reason.rb +47 -42
  87. data/lib/sisimai/rfc1123.rb +1 -1
  88. data/lib/sisimai/rfc1894.rb +15 -8
  89. data/lib/sisimai/rfc2045.rb +8 -5
  90. data/lib/sisimai/rfc3464/thirdparty.rb +11 -10
  91. data/lib/sisimai/rfc3464.rb +10 -14
  92. data/lib/sisimai/rfc3834.rb +6 -5
  93. data/lib/sisimai/rfc791.rb +3 -38
  94. data/lib/sisimai/rhost/aol.rb +3 -2
  95. data/lib/sisimai/rhost/apple.rb +12 -11
  96. data/lib/sisimai/rhost/cloudflare.rb +3 -2
  97. data/lib/sisimai/rhost/cox.rb +38 -37
  98. data/lib/sisimai/rhost/facebook.rb +17 -16
  99. data/lib/sisimai/rhost/franceptt.rb +39 -38
  100. data/lib/sisimai/rhost/godaddy.rb +35 -34
  101. data/lib/sisimai/rhost/google.rb +22 -21
  102. data/lib/sisimai/rhost/gsuite.rb +8 -7
  103. data/lib/sisimai/rhost/iua.rb +11 -10
  104. data/lib/sisimai/rhost/kddi.rb +3 -2
  105. data/lib/sisimai/rhost/messagelabs.rb +13 -12
  106. data/lib/sisimai/rhost/microsoft.rb +37 -32
  107. data/lib/sisimai/rhost/mimecast.rb +18 -17
  108. data/lib/sisimai/rhost/nttdocomo.rb +10 -9
  109. data/lib/sisimai/rhost/outlook.rb +3 -2
  110. data/lib/sisimai/rhost/spectrum.rb +19 -18
  111. data/lib/sisimai/rhost/tencent.rb +10 -9
  112. data/lib/sisimai/rhost/yahooinc.rb +11 -10
  113. data/lib/sisimai/rhost/zoho.rb +8 -7
  114. data/lib/sisimai/rhost.rb +1 -1
  115. data/lib/sisimai/smtp/command.rb +13 -8
  116. data/lib/sisimai/smtp/failure.rb +9 -8
  117. data/lib/sisimai/smtp/reply.rb +23 -22
  118. data/lib/sisimai/smtp/status.rb +164 -159
  119. data/lib/sisimai/smtp/transcript.rb +3 -2
  120. data/lib/sisimai/string.rb +0 -12
  121. data/lib/sisimai/version.rb +1 -1
  122. data/lib/sisimai.rb +2 -1
  123. data/set-of-emails/maildir/bsd/lhost-deutschetelekom-01.eml +66 -0
  124. data/set-of-emails/maildir/bsd/lhost-deutschetelekom-02.eml +68 -0
  125. data/set-of-emails/maildir/bsd/lhost-deutschetelekom-03.eml +50 -0
  126. data/set-of-emails/maildir/bsd/lhost-postfix-81.eml +130 -0
  127. data/set-of-emails/should-not-crash/go-423-deeply-nested-mime-parts.eml +20050 -0
  128. data/set-of-emails/should-not-crash/p5-664-iomart-mail-filter.eml +258 -0
  129. data/set-of-emails/to-be-debugged-because/sisimai-cannot-parse-yet/.gitkeep +0 -0
  130. metadata +11 -2
@@ -5,11 +5,12 @@ module Sisimai
5
5
  # This class is called only from Sisimai::Fact class.
6
6
  module Cloudflare
7
7
  class << self
8
+ require 'sisimai/eb'
8
9
  MessagesOf = {
9
10
  # - 554 <YOUR_IP_ADDRESS> found on one or more RBLs (abusixip). Refer to
10
11
  # https://developers.cloudflare.com/email-routing/postmaster/#spam-and-abusive-traffic/
11
- "blocked" => ["found on one or more DNSBLs"],
12
- "systemerror" => ["Upstream error"],
12
+ Sisimai::Eb::ReBLOC => ["found on one or more DNSBLs"],
13
+ Sisimai::Eb::RePROC => ["Upstream error"],
13
14
  }.freeze
14
15
 
15
16
  # Detect bounce reason from Cloudflare Email Routing
@@ -5,12 +5,13 @@ module Sisimai
5
5
  # called only Sisimai::Fact class.
6
6
  module Cox
7
7
  class << self
8
+ require 'sisimai/eb'
8
9
  ErrorCodes = {
9
10
  # CXBL
10
11
  # - The sending IP address has been blocked by Cox due to exhibiting spam-like behavior.
11
12
  # - Send an email request to Cox to ask for a sending IP address be unblocked.
12
13
  # Note: Cox has sole discretion whether to unblock the sending IP address.
13
- 'CXBL' => 'blocked',
14
+ 'CXBL' => Sisimai::Eb::ReBLOC,
14
15
 
15
16
  # CXDNS
16
17
  # - There was an issue with the connecting IP address Domain Name System (DNS).
@@ -18,66 +19,66 @@ module Sisimai
18
19
  # - Confirm the IP address that sends your email.
19
20
  # - Check the rDNS of that IP address. If it passes, then wait 24 hours and try resending
20
21
  # your email.
21
- 'CXDNS' => 'requireptr',
22
+ 'CXDNS' => Sisimai::Eb::ReQPTR,
22
23
 
23
24
  # CXSNDR
24
25
  # - There was a problem with the sender's domain.
25
26
  # - Your email failed authentication checks against your sending domain's SPF, DomainKeys,
26
27
  # or DKIM policy.
27
- 'CXSNDR' => 'authfailure',
28
+ 'CXSNDR' => Sisimai::Eb::ReAUTH,
28
29
 
29
30
  # CXSMTP
30
31
  # - There was a violation of SMTP protocol.
31
32
  # - Your email wasn't delivered because Cox was unable to verify that it came from a
32
33
  # legitimate email sender.
33
- 'CXSMTP' => 'rejected',
34
+ 'CXSMTP' => Sisimai::Eb::ReFROM,
34
35
 
35
36
  # CXCNCT
36
37
  # - There was a connection issue from the IP address.
37
38
  # - There is a limit to the number of concurrent SMTP connections per IP address to
38
39
  # protect the systems against attack. Ensure that the sending email server is not
39
40
  # opening more than 10 concurrent connections to avoid reaching this limit.
40
- 'CXCNCT' => 'ratelimited',
41
+ 'CXCNCT' => Sisimai::Eb::ReRATE,
41
42
 
42
43
  # CXMXRT
43
44
  # - The sender has sent email to too many recipients and needs to wait before sending
44
45
  # more email.
45
46
  # - The email sender has exceeded the maximum number of sent email allowed.
46
- 'CXMXRT' => 'ratelimited',
47
+ 'CXMXRT' => Sisimai::Eb::ReRATE,
47
48
 
48
49
  # CDRBL
49
50
  # - The sending IP address has been temporarily blocked by Cox due to exhibiting spam-like
50
51
  # behavior.
51
52
  # - The block duration varies depending on reputation and other factors, but will not exceed
52
53
  # 24 hours. Inspect email traffic for potential spam, and retry email delivery.
53
- 'CDRBL' => 'blocked',
54
+ 'CDRBL' => Sisimai::Eb::ReBLOC,
54
55
 
55
- 'CXTHRT' => 'securityerror', # Email sending limited due to suspicious account activity.
56
- 'CXMJ' => 'securityerror', # Email sending blocked due to suspicious account activity on primary Cox account.
57
- 'IPBL0001' => 'blocked', # The sending IP address is listed in the Spamhaus Zen DNSBL.
58
- 'IPBL0010' => 'blocked', # The sending IP is listed in the Return Path DNSBL.
59
- 'IPBL0100' => 'blocked', # The sending IP is listed in the Invaluement ivmSIP DNSBL.
60
- 'IPBL0011' => 'blocked', # The sending IP is in the Spamhaus Zen and Return Path DNSBLs.
61
- 'IPBL0101' => 'blocked', # The sending IP is in the Spamhaus Zen and Invaluement ivmSIP DNSBLs.
62
- 'IPBL0110' => 'blocked', # The sending IP is in the Return Path and Invaluement ivmSIP DNSBLs.
63
- 'IPBL0111' => 'blocked', # The sending IP is in the Spamhaus Zen, Return Path and Invaluement ivmSIP DNSBLs.
64
- 'IPBL1000' => 'blocked', # The sending IP address is listed on a CSI blacklist.
65
- 'IPBL1001' => 'blocked', # The sending IP is listed in the Cloudmark CSI and Spamhaus Zen DNSBLs.
66
- 'IPBL1010' => 'blocked', # The sending IP is listed in the Cloudmark CSI and Return Path DNSBLs.
67
- 'IPBL1011' => 'blocked', # The sending IP is in the Cloudmark CSI, Spamhaus Zen and Return Path DNSBLs.
68
- 'IPBL1100' => 'blocked', # The sending IP is listed in the Cloudmark CSI and Invaluement ivmSIP DNSBLs.
69
- 'IPBL1101' => 'blocked', # The sending IP is in the Cloudmark CSI, Spamhaus Zen and Invaluement IVMsip DNSBLs.
70
- 'IPBL1110' => 'blocked', # The sending IP is in the Cloudmark CSI, Return Path and Invaluement ivmSIP DNSBLs.
71
- 'IPBL1111' => 'blocked', # The sending IP is in the Cloudmark CSI, Spamhaus Zen, Return Path and Invaluement ivmSIP DNSBLs.
72
- 'IPBL00001' => 'blocked', # The sending IP address is listed on a Spamhaus blacklist.
56
+ 'CXTHRT' => Sisimai::Eb::ReSAFE, # Email sending limited due to suspicious account activity.
57
+ 'CXMJ' => Sisimai::Eb::ReSAFE, # Email sending blocked due to suspicious account activity on primary Cox account.
58
+ 'IPBL0001' => Sisimai::Eb::ReBLOC, # The sending IP address is listed in the Spamhaus Zen DNSBL.
59
+ 'IPBL0010' => Sisimai::Eb::ReBLOC, # The sending IP is listed in the Return Path DNSBL.
60
+ 'IPBL0100' => Sisimai::Eb::ReBLOC, # The sending IP is listed in the Invaluement ivmSIP DNSBL.
61
+ 'IPBL0011' => Sisimai::Eb::ReBLOC, # The sending IP is in the Spamhaus Zen and Return Path DNSBLs.
62
+ 'IPBL0101' => Sisimai::Eb::ReBLOC, # The sending IP is in the Spamhaus Zen and Invaluement ivmSIP DNSBLs.
63
+ 'IPBL0110' => Sisimai::Eb::ReBLOC, # The sending IP is in the Return Path and Invaluement ivmSIP DNSBLs.
64
+ 'IPBL0111' => Sisimai::Eb::ReBLOC, # The sending IP is in the Spamhaus Zen, Return Path and Invaluement ivmSIP DNSBLs.
65
+ 'IPBL1000' => Sisimai::Eb::ReBLOC, # The sending IP address is listed on a CSI blacklist.
66
+ 'IPBL1001' => Sisimai::Eb::ReBLOC, # The sending IP is listed in the Cloudmark CSI and Spamhaus Zen DNSBLs.
67
+ 'IPBL1010' => Sisimai::Eb::ReBLOC, # The sending IP is listed in the Cloudmark CSI and Return Path DNSBLs.
68
+ 'IPBL1011' => Sisimai::Eb::ReBLOC, # The sending IP is in the Cloudmark CSI, Spamhaus Zen and Return Path DNSBLs.
69
+ 'IPBL1100' => Sisimai::Eb::ReBLOC, # The sending IP is listed in the Cloudmark CSI and Invaluement ivmSIP DNSBLs.
70
+ 'IPBL1101' => Sisimai::Eb::ReBLOC, # The sending IP is in the Cloudmark CSI, Spamhaus Zen and Invaluement IVMsip DNSBLs.
71
+ 'IPBL1110' => Sisimai::Eb::ReBLOC, # The sending IP is in the Cloudmark CSI, Return Path and Invaluement ivmSIP DNSBLs.
72
+ 'IPBL1111' => Sisimai::Eb::ReBLOC, # The sending IP is in the Cloudmark CSI, Spamhaus Zen, Return Path and Invaluement ivmSIP DNSBLs.
73
+ 'IPBL00001' => Sisimai::Eb::ReBLOC, # The sending IP address is listed on a Spamhaus blacklist.
73
74
 
74
- 'URLBL011' => 'spamdetected', # A URL within the body of the message was found on blocklists SURBL and Spamhaus DBL.
75
- 'URLBL101' => 'spamdetected', # A URL within the body of the message was found on blocklists SURBL and ivmURI.
76
- 'URLBL110' => 'spamdetected', # A URL within the body of the message was found on blocklists Spamhaus DBL and ivmURI.
77
- 'URLBL1001' => 'spamdetected', # The URL is listed on a Spamhaus blacklist.
75
+ 'URLBL011' => Sisimai::Eb::ReSPAM, # A URL within the body of the message was found on blocklists SURBL and Spamhaus DBL.
76
+ 'URLBL101' => Sisimai::Eb::ReSPAM, # A URL within the body of the message was found on blocklists SURBL and ivmURI.
77
+ 'URLBL110' => Sisimai::Eb::ReSPAM, # A URL within the body of the message was found on blocklists Spamhaus DBL and ivmURI.
78
+ 'URLBL1001' => Sisimai::Eb::ReSPAM, # The URL is listed on a Spamhaus blacklist.
78
79
  }.freeze
79
80
  MessagesOf = {
80
- 'blocked' => [
81
+ Sisimai::Eb::ReBLOC => [
81
82
  # - An email client has repeatedly sent bad commands or invalid passwords resulting in
82
83
  # a three-hour block of the client's IP address.
83
84
  # - The sending IP address has exceeded the threshold of invalid recipients and has
@@ -87,18 +88,18 @@ module Sisimai
87
88
  'cox too many bad commands from',
88
89
  'too many invalid recipients',
89
90
  ],
90
- 'contenterror' => [
91
+ Sisimai::Eb::ReBODY => [
91
92
  # - The message has been rejected because it contains an attachment with one of the
92
93
  # following prohibited file types, which commonly contain viruses: .shb, .shs, .vbe,
93
94
  # .vbs, .wsc, .wsf, .wsh, .pif, .msc, .msi, .msp, .reg, .sct, .bat, .chm, .isp, .cpl,
94
95
  # .js, .jse, .scr, .exe.
95
96
  'attachment extension is forbidden',
96
97
  ],
97
- 'policyviolation' => [
98
+ Sisimai::Eb::ReWONT => [
98
99
  # - The sending server has attempted to communicate too soon within the SMTP transaction
99
100
  'esmtp no data before greeting',
100
101
  ],
101
- 'ratelimited' => [
102
+ Sisimai::Eb::ReWONT => [
102
103
  # - The sending IP address has exceeded the five maximum concurrent connection limit.
103
104
  # - The SMTP connection has exceeded the 100 email message threshold and was disconnected.
104
105
  # - The sending IP address has exceeded one of these rate limits and has been temporarily
@@ -107,22 +108,22 @@ module Sisimai
107
108
  'requested action aborted: try again later',
108
109
  'message threshold exceeded',
109
110
  ],
110
- 'rejected' => [
111
+ Sisimai::Eb::ReFROM => [
111
112
  # Cox requires that all sender domains resolve to a valid MX or A-record within DNS.
112
113
  'sender rejected',
113
114
  ],
114
- 'requireptr' => [
115
+ Sisimai::Eb::ReQPTR => [
115
116
  # - The reverse DNS check of the sending server IP address has failed.
116
117
  # - Cox requires that all connecting email servers contain valid reverse DNS PTR records.
117
118
  'dns check failure - try again later',
118
119
  'rejected - no rdns',
119
120
  ],
120
- 'systemerror' => [
121
+ Sisimai::Eb::RePROC => [
121
122
  # - Our systems are experiencing an issue which is causing a temporary inability to
122
123
  # accept new email.
123
124
  'esmtp server temporarily not available',
124
125
  ],
125
- 'userunknown' => [
126
+ Sisimai::Eb::ReUSER => [
126
127
  # - The intended recipient is not a valid Cox Email account.
127
128
  'recipient rejected',
128
129
  ],
@@ -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.