sisimai 5.0.2-java → 5.1.0-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/codecovio.yml +35 -0
- data/.github/workflows/rake-test.yml +27 -24
- data/ChangeLog.md +62 -0
- data/Gemfile +2 -0
- data/README-JA.md +21 -18
- data/README.md +23 -20
- data/lib/sisimai/arf.rb +27 -8
- data/lib/sisimai/fact/json.rb +2 -2
- data/lib/sisimai/fact/yaml.rb +2 -2
- data/lib/sisimai/fact.rb +4 -19
- data/lib/sisimai/lhost/activehunter.rb +4 -3
- data/lib/sisimai/lhost/amavis.rb +4 -4
- data/lib/sisimai/lhost/amazonses.rb +6 -6
- data/lib/sisimai/lhost/amazonworkmail.rb +4 -4
- data/lib/sisimai/lhost/aol.rb +4 -4
- data/lib/sisimai/lhost/apachejames.rb +4 -4
- data/lib/sisimai/lhost/barracuda.rb +4 -4
- data/lib/sisimai/lhost/bigfoot.rb +4 -4
- data/lib/sisimai/lhost/biglobe.rb +4 -4
- data/lib/sisimai/lhost/courier.rb +4 -4
- data/lib/sisimai/lhost/domino.rb +4 -4
- data/lib/sisimai/lhost/dragonfly.rb +114 -0
- data/lib/sisimai/lhost/einsundeins.rb +4 -4
- data/lib/sisimai/lhost/exchange2003.rb +4 -3
- data/lib/sisimai/lhost/exchange2007.rb +4 -3
- data/lib/sisimai/lhost/exim.rb +4 -4
- data/lib/sisimai/lhost/ezweb.rb +4 -4
- data/lib/sisimai/lhost/facebook.rb +4 -4
- data/lib/sisimai/lhost/fml.rb +4 -4
- data/lib/sisimai/lhost/gmail.rb +4 -4
- data/lib/sisimai/lhost/gmx.rb +4 -4
- data/lib/sisimai/lhost/googlegroups.rb +4 -4
- data/lib/sisimai/lhost/gsuite.rb +4 -4
- data/lib/sisimai/lhost/imailserver.rb +4 -3
- data/lib/sisimai/lhost/interscanmss.rb +5 -4
- data/lib/sisimai/lhost/kddi.rb +4 -4
- data/lib/sisimai/lhost/mailfoundry.rb +4 -4
- data/lib/sisimai/lhost/mailmarshalsmtp.rb +6 -5
- data/lib/sisimai/lhost/mailru.rb +4 -4
- data/lib/sisimai/lhost/mcafee.rb +4 -4
- data/lib/sisimai/lhost/messagelabs.rb +4 -3
- data/lib/sisimai/lhost/messagingserver.rb +5 -4
- data/lib/sisimai/lhost/mfilter.rb +4 -4
- data/lib/sisimai/lhost/mxlogic.rb +3 -3
- data/lib/sisimai/lhost/notes.rb +4 -4
- data/lib/sisimai/lhost/office365.rb +4 -4
- data/lib/sisimai/lhost/opensmtpd.rb +9 -7
- data/lib/sisimai/lhost/outlook.rb +4 -4
- data/lib/sisimai/lhost/postfix.rb +4 -4
- data/lib/sisimai/lhost/powermta.rb +4 -4
- data/lib/sisimai/lhost/qmail.rb +10 -10
- data/lib/sisimai/lhost/receivingses.rb +4 -4
- data/lib/sisimai/lhost/sendgrid.rb +4 -4
- data/lib/sisimai/lhost/sendmail.rb +4 -4
- data/lib/sisimai/lhost/surfcontrol.rb +4 -4
- data/lib/sisimai/lhost/v5sendmail.rb +5 -4
- data/lib/sisimai/lhost/verizon.rb +4 -4
- data/lib/sisimai/lhost/x1.rb +3 -3
- data/lib/sisimai/lhost/x2.rb +3 -3
- data/lib/sisimai/lhost/x3.rb +3 -3
- data/lib/sisimai/lhost/x4.rb +3 -3
- data/lib/sisimai/lhost/x5.rb +3 -3
- data/lib/sisimai/lhost/x6.rb +3 -3
- data/lib/sisimai/lhost/yahoo.rb +4 -4
- data/lib/sisimai/lhost/yandex.rb +4 -4
- data/lib/sisimai/lhost/zoho.rb +4 -4
- data/lib/sisimai/lhost.rb +5 -5
- data/lib/sisimai/mail/maildir.rb +1 -1
- data/lib/sisimai/mail/stdin.rb +1 -1
- data/lib/sisimai/mda.rb +3 -3
- data/lib/sisimai/message.rb +9 -9
- data/lib/sisimai/order.rb +1 -0
- data/lib/sisimai/reason/badreputation.rb +1 -1
- data/lib/sisimai/reason/blocked.rb +1 -0
- data/lib/sisimai/reason/expired.rb +7 -0
- data/lib/sisimai/reason/filtered.rb +1 -0
- data/lib/sisimai/reason/mailboxfull.rb +3 -0
- data/lib/sisimai/reason/norelaying.rb +2 -0
- data/lib/sisimai/reason/rejected.rb +2 -1
- data/lib/sisimai/reason/suspend.rb +4 -0
- data/lib/sisimai/reason/userunknown.rb +4 -1
- data/lib/sisimai/reason.rb +8 -8
- data/lib/sisimai/rfc3464.rb +3 -3
- data/lib/sisimai/rfc3834.rb +2 -2
- data/lib/sisimai/rhost/apple.rb +92 -0
- data/lib/sisimai/rhost/cox.rb +81 -32
- data/lib/sisimai/rhost/franceptt.rb +84 -81
- data/lib/sisimai/rhost/godaddy.rb +205 -43
- data/lib/sisimai/rhost/google.rb +85 -72
- data/lib/sisimai/rhost/iua.rb +2 -2
- data/lib/sisimai/rhost/kddi.rb +6 -5
- data/lib/sisimai/rhost/microsoft.rb +12 -5
- data/lib/sisimai/rhost/mimecast.rb +15 -4
- data/lib/sisimai/rhost/nttdocomo.rb +4 -4
- data/lib/sisimai/rhost/spectrum.rb +100 -40
- data/lib/sisimai/rhost/tencent.rb +46 -25
- data/lib/sisimai/rhost/yahooinc.rb +110 -0
- data/lib/sisimai/rhost.rb +28 -35
- data/lib/sisimai/smtp/reply.rb +4 -3
- data/lib/sisimai/smtp/transcript.rb +3 -3
- data/lib/sisimai/version.rb +1 -1
- data/lib/sisimai.rb +0 -6
- data/set-of-emails/maildir/bsd/arf-26.eml +27 -0
- data/set-of-emails/maildir/bsd/lhost-dragonfly-01.eml +36 -0
- data/set-of-emails/maildir/bsd/lhost-dragonfly-02.eml +32 -0
- data/set-of-emails/maildir/bsd/lhost-dragonfly-03.eml +32 -0
- data/set-of-emails/maildir/bsd/lhost-dragonfly-04.eml +31 -0
- data/set-of-emails/maildir/bsd/lhost-dragonfly-05.eml +32 -0
- data/set-of-emails/maildir/bsd/lhost-dragonfly-06.eml +32 -0
- data/set-of-emails/maildir/bsd/lhost-dragonfly-07.eml +32 -0
- data/set-of-emails/maildir/bsd/lhost-dragonfly-08.eml +32 -0
- data/set-of-emails/maildir/bsd/lhost-dragonfly-09.eml +32 -0
- data/set-of-emails/maildir/bsd/lhost-dragonfly-10.eml +32 -0
- data/set-of-emails/maildir/bsd/lhost-dragonfly-11.eml +32 -0
- data/set-of-emails/maildir/bsd/lhost-dragonfly-12.eml +32 -0
- data/set-of-emails/maildir/bsd/lhost-dragonfly-13.eml +32 -0
- data/set-of-emails/maildir/bsd/lhost-dragonfly-14.eml +32 -0
- data/set-of-emails/maildir/bsd/lhost-dragonfly-15.eml +32 -0
- data/set-of-emails/maildir/bsd/lhost-dragonfly-16.eml +32 -0
- data/set-of-emails/maildir/bsd/lhost-dragonfly-17.eml +32 -0
- data/set-of-emails/maildir/bsd/lhost-dragonfly-18.eml +32 -0
- data/set-of-emails/maildir/bsd/lhost-dragonfly-19.eml +32 -0
- data/set-of-emails/maildir/bsd/lhost-dragonfly-20.eml +32 -0
- data/set-of-emails/maildir/bsd/lhost-dragonfly-21.eml +33 -0
- data/set-of-emails/maildir/bsd/lhost-dragonfly-22.eml +32 -0
- data/set-of-emails/maildir/bsd/lhost-dragonfly-23.eml +32 -0
- data/set-of-emails/maildir/bsd/lhost-dragonfly-24.eml +32 -0
- data/set-of-emails/maildir/bsd/lhost-dragonfly-25.eml +33 -0
- data/set-of-emails/maildir/bsd/lhost-dragonfly-26.eml +33 -0
- data/set-of-emails/maildir/bsd/lhost-dragonfly-27.eml +47 -0
- data/set-of-emails/maildir/bsd/lhost-dragonfly-28.eml +47 -0
- data/set-of-emails/maildir/bsd/lhost-dragonfly-29.eml +32 -0
- data/set-of-emails/maildir/bsd/lhost-dragonfly-30.eml +32 -0
- data/set-of-emails/maildir/bsd/lhost-opensmtpd-10.eml +58 -0
- data/set-of-emails/maildir/bsd/lhost-opensmtpd-11.eml +58 -0
- data/set-of-emails/maildir/bsd/lhost-opensmtpd-12.eml +62 -0
- data/set-of-emails/maildir/bsd/lhost-opensmtpd-13.eml +62 -0
- data/set-of-emails/maildir/bsd/lhost-opensmtpd-14.eml +58 -0
- data/set-of-emails/maildir/bsd/lhost-opensmtpd-15.eml +63 -0
- data/set-of-emails/maildir/bsd/lhost-opensmtpd-16.eml +62 -0
- data/set-of-emails/maildir/bsd/lhost-opensmtpd-17.eml +63 -0
- data/set-of-emails/maildir/bsd/lhost-qmail-11.eml +29 -0
- data/set-of-emails/maildir/bsd/lhost-qmail-12.eml +29 -0
- data/set-of-emails/maildir/bsd/lhost-qmail-13.eml +29 -0
- data/set-of-emails/maildir/bsd/lhost-qmail-14.eml +34 -0
- data/set-of-emails/maildir/bsd/lhost-qmail-15.eml +30 -0
- data/set-of-emails/maildir/bsd/lhost-qmail-16.eml +31 -0
- data/set-of-emails/maildir/bsd/lhost-qmail-17.eml +38 -0
- data/set-of-emails/maildir/bsd/lhost-qmail-18.eml +31 -0
- data/set-of-emails/maildir/bsd/lhost-qmail-19.eml +31 -0
- data/set-of-emails/maildir/bsd/lhost-qmail-20.eml +46 -0
- data/set-of-emails/maildir/bsd/lhost-qmail-21.eml +41 -0
- data/set-of-emails/maildir/bsd/lhost-qmail-22.eml +42 -0
- data/set-of-emails/maildir/bsd/lhost-qmail-23.eml +43 -0
- data/set-of-emails/maildir/bsd/lhost-qmail-24.eml +43 -0
- data/set-of-emails/maildir/bsd/lhost-qmail-25.eml +54 -0
- data/set-of-emails/maildir/bsd/rhost-apple-01.eml +79 -0
- data/set-of-emails/maildir/bsd/rhost-apple-02.eml +81 -0
- data/set-of-emails/maildir/bsd/rhost-apple-03.eml +75 -0
- data/set-of-emails/maildir/bsd/rhost-apple-04.eml +74 -0
- data/set-of-emails/maildir/bsd/rhost-microsoft-04.eml +86 -0
- data/set-of-emails/maildir/bsd/rhost-microsoft-05.eml +83 -0
- data/set-of-emails/maildir/bsd/rhost-yahooinc-01.eml +80 -0
- data/set-of-emails/maildir/bsd/rhost-yahooinc-02.eml +83 -0
- data/set-of-emails/maildir/bsd/rhost-yahooinc-03.eml +125 -0
- metadata +69 -3
- data/.travis.yml +0 -23
data/lib/sisimai/rhost/cox.rb
CHANGED
|
@@ -6,16 +6,54 @@ module Sisimai
|
|
|
6
6
|
module Cox
|
|
7
7
|
class << self
|
|
8
8
|
ErrorCodes = {
|
|
9
|
-
#
|
|
10
|
-
|
|
9
|
+
# CXBL
|
|
10
|
+
# - The sending IP address has been blocked by Cox due to exhibiting spam-like behavior.
|
|
11
|
+
# - Send an email request to Cox to ask for a sending IP address be unblocked.
|
|
12
|
+
# Note: Cox has sole discretion whether to unblock the sending IP address.
|
|
13
|
+
'CXBL' => 'blocked',
|
|
14
|
+
|
|
15
|
+
# CXDNS
|
|
16
|
+
# - There was an issue with the connecting IP address Domain Name System (DNS).
|
|
17
|
+
# - The Reverse DNS (rDNS) lookup for your IP address is failing.
|
|
18
|
+
# - Confirm the IP address that sends your email.
|
|
19
|
+
# - Check the rDNS of that IP address. If it passes, then wait 24 hours and try resending
|
|
20
|
+
# your email.
|
|
21
|
+
'CXDNS' => 'requireptr',
|
|
22
|
+
|
|
23
|
+
# CXSNDR
|
|
24
|
+
# - There was a problem with the sender's domain.
|
|
25
|
+
# - Your email failed authentication checks against your sending domain's SPF, DomainKeys,
|
|
26
|
+
# or DKIM policy.
|
|
27
|
+
'CXSNDR' => 'authfailure',
|
|
28
|
+
|
|
29
|
+
# CXSMTP
|
|
30
|
+
# - There was a violation of SMTP protocol.
|
|
31
|
+
# - Your email wasn't delivered because Cox was unable to verify that it came from a
|
|
32
|
+
# legitimate email sender.
|
|
33
|
+
'CXSMTP' => 'rejected',
|
|
34
|
+
|
|
35
|
+
# CXCNCT
|
|
36
|
+
# - There was a connection issue from the IP address.
|
|
37
|
+
# - There is a limit to the number of concurrent SMTP connections per IP address to
|
|
38
|
+
# protect the systems against attack. Ensure that the sending email server is not
|
|
39
|
+
# opening more than 10 concurrent connections to avoid reaching this limit.
|
|
40
|
+
'CXCNCT' => 'toomanyconn',
|
|
41
|
+
|
|
42
|
+
# CXMXRT
|
|
43
|
+
# - The sender has sent email to too many recipients and needs to wait before sending
|
|
44
|
+
# more email.
|
|
45
|
+
# - The email sender has exceeded the maximum number of sent email allowed.
|
|
46
|
+
'CXMXRT' => 'toomanyconn',
|
|
47
|
+
|
|
48
|
+
# CDRBL
|
|
49
|
+
# - The sending IP address has been temporarily blocked by Cox due to exhibiting spam-like
|
|
50
|
+
# behavior.
|
|
51
|
+
# - The block duration varies depending on reputation and other factors, but will not exceed
|
|
52
|
+
# 24 hours. Inspect email traffic for potential spam, and retry email delivery.
|
|
53
|
+
'CDRBL' => 'blocked',
|
|
54
|
+
|
|
11
55
|
'CXTHRT' => 'securityerror', # Email sending limited due to suspicious account activity.
|
|
12
56
|
'CXMJ' => 'securityerror', # Email sending blocked due to suspicious account activity on primary Cox account.
|
|
13
|
-
'CXDNS' => 'blocked', # There was an issue with the connecting IP address Domain Name System (DNS).
|
|
14
|
-
'CXSNDR' => 'rejected', # There was a problem with the sender's domain.
|
|
15
|
-
'CXSMTP' => 'rejected', # Your email wasn't delivered because Cox was unable to verify that it came from a legitimate email sender.
|
|
16
|
-
'CXCNCT' => 'toomanyconn', # There is a limit to the number of concurrent SMTP connections per IP address
|
|
17
|
-
'CXMXRT' => 'toomanyconn', # The email sender has exceeded the maximum number of sent email allowed.
|
|
18
|
-
'CDRBL' => 'blocked', # The sending IP address has been temporarily blocked by Cox due to exhibiting spam-like behavior.
|
|
19
57
|
'IPBL0001' => 'blocked', # The sending IP address is listed in the Spamhaus Zen DNSBL.
|
|
20
58
|
'IPBL0010' => 'blocked', # The sending IP is listed in the Return Path DNSBL.
|
|
21
59
|
'IPBL0100' => 'blocked', # The sending IP is listed in the Invaluement ivmSIP DNSBL.
|
|
@@ -32,6 +70,7 @@ module Sisimai
|
|
|
32
70
|
'IPBL1110' => 'blocked', # The sending IP is in the Cloudmark CSI, Return Path and Invaluement ivmSIP DNSBLs.
|
|
33
71
|
'IPBL1111' => 'blocked', # The sending IP is in the Cloudmark CSI, Spamhaus Zen, Return Path and Invaluement ivmSIP DNSBLs.
|
|
34
72
|
'IPBL00001' => 'blocked', # The sending IP address is listed on a Spamhaus blacklist. Check your status at Spamhaus.
|
|
73
|
+
|
|
35
74
|
'URLBL011' => 'spamdetected', # A URL within the body of the message was found on blocklists SURBL and Spamhaus DBL.
|
|
36
75
|
'URLBL101' => 'spamdetected', # A URL within the body of the message was found on blocklists SURBL and ivmURI.
|
|
37
76
|
'URLBL110' => 'spamdetected', # A URL within the body of the message was found on blocklists Spamhaus DBL and ivmURI.
|
|
@@ -39,63 +78,73 @@ module Sisimai
|
|
|
39
78
|
}.freeze
|
|
40
79
|
MessagesOf = {
|
|
41
80
|
'blocked' => [
|
|
42
|
-
#
|
|
43
|
-
|
|
44
|
-
#
|
|
81
|
+
# - An email client has repeatedly sent bad commands or invalid passwords resulting in
|
|
82
|
+
# a three-hour block of the client's IP address.
|
|
83
|
+
# - The sending IP address has exceeded the threshold of invalid recipients and has
|
|
84
|
+
# been blocked.
|
|
45
85
|
'cox too many bad commands from',
|
|
46
|
-
|
|
47
|
-
'DNS check failure - try again later',
|
|
48
|
-
# The sending IP address has exceeded the threshold of invalid recipients and has been blocked.
|
|
49
|
-
'Too many invalid recipients',
|
|
86
|
+
'too many invalid recipients',
|
|
50
87
|
],
|
|
51
|
-
'
|
|
52
|
-
#
|
|
53
|
-
|
|
88
|
+
'requireptr' => [
|
|
89
|
+
# - The reverse DNS check of the sending server IP address has failed.
|
|
90
|
+
# - Cox requires that all connecting email servers contain valid reverse DNS PTR records.
|
|
91
|
+
'dns check failure - try again later',
|
|
92
|
+
'rejected - no rdns',
|
|
54
93
|
],
|
|
55
94
|
'policyviolation' => [
|
|
56
|
-
# The sending server has attempted to communicate too soon within the SMTP transaction
|
|
57
|
-
|
|
58
|
-
#
|
|
59
|
-
#
|
|
60
|
-
#
|
|
95
|
+
# - The sending server has attempted to communicate too soon within the SMTP transaction
|
|
96
|
+
# - The message has been rejected because it contains an attachment with one of the
|
|
97
|
+
# following prohibited file types, which commonly contain viruses: .shb, .shs, .vbe,
|
|
98
|
+
# .vbs, .wsc, .wsf, .wsh, .pif, .msc, .msi, .msp, .reg, .sct, .bat, .chm, .isp, .cpl,
|
|
99
|
+
# .js, .jse, .scr, .exe.
|
|
100
|
+
'esmtp no data before greeting',
|
|
61
101
|
'attachment extension is forbidden',
|
|
62
102
|
],
|
|
63
103
|
'rejected' => [
|
|
64
104
|
# Cox requires that all sender domains resolve to a valid MX or A-record within DNS.
|
|
65
105
|
'sender rejected',
|
|
66
106
|
],
|
|
107
|
+
'systemerror' => [
|
|
108
|
+
# - Our systems are experiencing an issue which is causing a temporary inability to
|
|
109
|
+
# accept new email.
|
|
110
|
+
'esmtp server temporarily not available',
|
|
111
|
+
],
|
|
67
112
|
'toomanyconn' => [
|
|
68
|
-
# The sending IP address has exceeded the five maximum concurrent connection limit.
|
|
113
|
+
# - The sending IP address has exceeded the five maximum concurrent connection limit.
|
|
114
|
+
# - The SMTP connection has exceeded the 100 email message threshold and was disconnected.
|
|
115
|
+
# - The sending IP address has exceeded one of these rate limits and has been temporarily
|
|
116
|
+
# blocked.
|
|
69
117
|
'too many sessions from',
|
|
70
|
-
# The SMTP connection has exceeded the 100 email message threshold and was disconnected.
|
|
71
118
|
'requested action aborted: try again later',
|
|
72
|
-
|
|
73
|
-
'Message threshold exceeded',
|
|
119
|
+
'message threshold exceeded',
|
|
74
120
|
],
|
|
75
121
|
'userunknown' => [
|
|
76
|
-
|
|
122
|
+
# - The intended recipient is not a valid Cox Email account.
|
|
123
|
+
'recipient rejected',
|
|
77
124
|
],
|
|
78
125
|
}.freeze
|
|
79
126
|
|
|
80
127
|
# Detect bounce reason from https://cox.com/
|
|
81
|
-
# @param [Sisimai::Fact] argvs
|
|
128
|
+
# @param [Sisimai::Fact] argvs Decoded email object
|
|
82
129
|
# @return [String, Nil] The bounce reason at Cox
|
|
130
|
+
# @see https://www.cox.com/residential/support/email-error-codes.html
|
|
83
131
|
# @since v4.25.8
|
|
84
132
|
def get(argvs)
|
|
85
|
-
|
|
133
|
+
issuedcode = argvs['diagnosticcode']
|
|
86
134
|
codenumber = 0
|
|
87
135
|
|
|
88
|
-
if cv =
|
|
136
|
+
if cv = issuedcode.match(/AUP#([0-9A-Z]+)/)
|
|
89
137
|
# Capture the numeric part of the error code
|
|
90
138
|
codenumber = cv[1]
|
|
91
139
|
end
|
|
92
140
|
reasontext = ErrorCodes[codenumber] || ''
|
|
93
141
|
|
|
142
|
+
issuedcode = argvs['diagnosticcode'].downcase
|
|
94
143
|
if reasontext.empty?
|
|
95
144
|
# The error code was not found in ErrorCodes
|
|
96
145
|
MessagesOf.each_key do |e|
|
|
97
146
|
# Try to find with each error message defined in MessagesOf
|
|
98
|
-
next unless MessagesOf[e].any? { |a|
|
|
147
|
+
next unless MessagesOf[e].any? { |a| issuedcode.include?(a) }
|
|
99
148
|
reasontext = e
|
|
100
149
|
break
|
|
101
150
|
end
|
|
@@ -6,144 +6,147 @@ module Sisimai
|
|
|
6
6
|
module FrancePTT
|
|
7
7
|
class << self
|
|
8
8
|
ErrorCodes = {
|
|
9
|
-
# 550 5.7.1 Service unavailable; client [
|
|
10
|
-
#
|
|
11
|
-
#
|
|
12
|
-
#
|
|
13
|
-
#
|
|
14
|
-
#
|
|
9
|
+
# - 550 5.7.1 Service unavailable; client [192.0.2.1] blocked using Spamhaus
|
|
10
|
+
# Les emails envoyes vers la messagerie Laposte.net ont ete bloques par nos services.
|
|
11
|
+
# Afin de regulariser votre situation, nous vous invitons a cliquer sur le lien ci-dessous
|
|
12
|
+
# et a suivre la procedure.
|
|
13
|
+
# - The emails sent to the mail host Laposte.net were blocked by our services. To regularize
|
|
14
|
+
# your situation please click on the link below and follow the procedure
|
|
15
|
+
# https://www.spamhaus.org/lookup/ LPNAAA_101 (in reply to RCPT TO command))
|
|
15
16
|
'101' => 'blocked',
|
|
16
17
|
|
|
17
|
-
# 550 mwinf5c04 ME Adresse IP source bloquee pour incident de spam.
|
|
18
|
-
# Client host blocked for spamming issues. OFR006_102 Ref
|
|
19
|
-
#
|
|
20
|
-
#
|
|
21
|
-
#
|
|
22
|
-
# The emails sent to the mail host Laposte.net were blocked by our services.
|
|
23
|
-
#
|
|
24
|
-
#
|
|
18
|
+
# - 550 mwinf5c04 ME Adresse IP source bloquee pour incident de spam.
|
|
19
|
+
# - Client host blocked for spamming issues. OFR006_102 Ref http://csi.cloudmark.com ...
|
|
20
|
+
# - 550 5.5.0 Les emails envoyes vers la messagerie Laposte.net ont ete bloques par nos
|
|
21
|
+
# services. Afin de regulariser votre situation, nous vous invitons a cliquer sur le lien
|
|
22
|
+
# ci-dessous et a suivre la procedure.
|
|
23
|
+
# - The emails sent to the mail host Laposte.net were blocked by our services. To regularize
|
|
24
|
+
# your situation please click on the link below and follow the procedure
|
|
25
|
+
# https://senderscore.org/blacklistlookup/ LPN007_102
|
|
25
26
|
'102' => 'blocked',
|
|
26
27
|
|
|
27
|
-
#
|
|
28
|
-
# Service refused, please try later. OFR006_103
|
|
28
|
+
# - 550 mwinf5c10 ME Service refuse. Veuillez essayer plus tard.
|
|
29
|
+
# - Service refused, please try later. OFR006_103 192.0.2.1 [103]
|
|
29
30
|
'103' => 'blocked',
|
|
30
31
|
|
|
31
|
-
#
|
|
32
|
-
# Too many connections, slow down. OFR005_104 [104]
|
|
33
|
-
# Too many connections, slow down. LPN105_104
|
|
32
|
+
# - 421 mwinf5c79 ME Trop de connexions, veuillez verifier votre configuration.
|
|
33
|
+
# - Too many connections, slow down. OFR005_104 [104]
|
|
34
|
+
# - Too many connections, slow down. LPN105_104
|
|
34
35
|
'104' => 'toomanyconn',
|
|
35
36
|
|
|
36
|
-
# Veuillez essayer plus tard.
|
|
37
|
-
'
|
|
37
|
+
'105' => nil, # Veuillez essayer plus tard.
|
|
38
|
+
'107' => nil, # Service refused, please try later. LPN006_107
|
|
39
|
+
'108' => nil, # service refused, please try later. LPN001_108
|
|
40
|
+
'109' => nil, # Veuillez essayer plus tard. LPN003_109
|
|
41
|
+
'201' => nil, # Veuillez essayer plus tard. OFR004_201
|
|
38
42
|
|
|
39
|
-
#
|
|
40
|
-
# Service refused, please try later. LPN006_107)
|
|
41
|
-
'107' => nil,
|
|
42
|
-
|
|
43
|
-
# refused to talk to me: 550 5.5.0 Service refuse. Veuillez essayer plus tard.
|
|
44
|
-
# service refused, please try later. LPN001_108
|
|
45
|
-
'108' => nil,
|
|
46
|
-
|
|
47
|
-
# Veuillez essayer plus tard. LPN003_109
|
|
48
|
-
'109' => nil,
|
|
49
|
-
|
|
50
|
-
# Veuillez essayer plus tard. OFR004_201
|
|
51
|
-
'201' => nil,
|
|
52
|
-
|
|
53
|
-
# 550 5.7.0 Code d'authentification invalide OFR_305
|
|
43
|
+
# - 550 5.7.0 Code d'authentification invalide OFR_305
|
|
54
44
|
'305' => 'securityerror',
|
|
55
45
|
|
|
56
|
-
# 550 5.5.0 SPF: *** is not allowed to send mail. LPN004_401
|
|
57
|
-
'401' => '
|
|
46
|
+
# - 550 5.5.0 SPF: *** is not allowed to send mail. LPN004_401
|
|
47
|
+
'401' => 'authfailure',
|
|
58
48
|
|
|
59
|
-
# 550 5.5.0 Authentification requise. Authentication Required. LPN105_402
|
|
49
|
+
# - 550 5.5.0 Authentification requise. Authentication Required. LPN105_402
|
|
60
50
|
'402' => 'securityerror',
|
|
61
51
|
|
|
62
|
-
# 5.0.1 Emetteur invalide. Invalid Sender.
|
|
52
|
+
# - 5.0.1 Emetteur invalide. Invalid Sender.
|
|
63
53
|
'403' => 'rejected',
|
|
64
54
|
|
|
65
|
-
# 5.0.1 Emetteur invalide. Invalid Sender. LPN105_405
|
|
66
|
-
# 501 5.1.0 Emetteur invalide. Invalid Sender. OFR004_405 [405] (in reply to MAIL FROM command))
|
|
55
|
+
# - 5.0.1 Emetteur invalide. Invalid Sender. LPN105_405
|
|
56
|
+
# - 501 5.1.0 Emetteur invalide. Invalid Sender. OFR004_405 [405] (in reply to MAIL FROM command))
|
|
67
57
|
'405' => 'rejected',
|
|
68
58
|
|
|
69
59
|
# Emetteur invalide. Invalid Sender. OFR_415
|
|
70
60
|
'415' => 'rejected',
|
|
71
61
|
|
|
72
|
-
# 550 5.1.1 Adresse d au moins un destinataire invalide.
|
|
73
|
-
# Invalid recipient. LPN416 (in reply to RCPT TO command)
|
|
74
|
-
# Invalid recipient. OFR_416 [416] (in reply to RCPT TO command)
|
|
62
|
+
# - 550 5.1.1 Adresse d au moins un destinataire invalide.
|
|
63
|
+
# - Invalid recipient. LPN416 (in reply to RCPT TO command)
|
|
64
|
+
# - Invalid recipient. OFR_416 [416] (in reply to RCPT TO command)
|
|
75
65
|
'416' => 'userunknown',
|
|
76
66
|
|
|
77
|
-
# 552 5.1.1 Boite du destinataire pleine.
|
|
78
|
-
# Recipient overquota. OFR_417 [417] (in reply to RCPT TO command))
|
|
67
|
+
# - 552 5.1.1 Boite du destinataire pleine.
|
|
68
|
+
# - Recipient overquota. OFR_417 [417] (in reply to RCPT TO command))
|
|
79
69
|
'417' => 'mailboxfull',
|
|
80
70
|
|
|
81
|
-
# Adresse d au moins un destinataire invalide
|
|
82
|
-
'418' => 'userunknown',
|
|
71
|
+
# - Adresse d au moins un destinataire invalide
|
|
83
72
|
|
|
84
|
-
# 550 5.5.0 Boite du destinataire archivee.
|
|
85
|
-
# Archived recipient. LPN007_420 (in reply to RCPT TO command)
|
|
73
|
+
# - 550 5.5.0 Boite du destinataire archivee.
|
|
74
|
+
# - Archived recipient. LPN007_420 (in reply to RCPT TO command)
|
|
86
75
|
'420' => 'suspend',
|
|
87
76
|
|
|
88
|
-
# 5.5.3 Mail from not owned by user. LPN105_421.
|
|
77
|
+
# - 5.5.3 Mail from not owned by user. LPN105_421.
|
|
89
78
|
'421' => 'rejected',
|
|
90
79
|
|
|
91
|
-
# Service refused, please try later. LPN105_423
|
|
92
|
-
'
|
|
80
|
+
'423' => nil, # Service refused, please try later. LPN105_423
|
|
81
|
+
'424' => nil, # Veuillez essayer plus tard. LPN105_424
|
|
93
82
|
|
|
94
|
-
#
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
# 550 5.5.0 Le compte du destinataire est bloque. The recipient account isblocked. LPN007_426 (in reply to RCPT TO command)
|
|
83
|
+
# - 550 5.5.0 Le compte du destinataire est bloque. The recipient account isblocked.
|
|
84
|
+
# LPN007_426 (in reply to RCPT TO command)
|
|
98
85
|
'426' => 'suspend',
|
|
99
86
|
|
|
100
|
-
# 421 4.2.0 Service refuse. Veuillez essayer plus tard.
|
|
101
|
-
#
|
|
102
|
-
#
|
|
103
|
-
#
|
|
104
|
-
# Service refused, please try later. LPN007_505 (in reply to end of DATA command)
|
|
87
|
+
# - 421 4.2.0 Service refuse. Veuillez essayer plus tard. Service refused, please try later.
|
|
88
|
+
# OFR005_505 [505] (in reply to end of DATA command)
|
|
89
|
+
# - 421 4.2.1 Service refuse. Veuillez essayer plus tard. Service refused, please try later.
|
|
90
|
+
# LPN007_505 (in reply to end of DATA command)
|
|
105
91
|
'505' => 'systemerror',
|
|
106
92
|
|
|
107
|
-
# Mail rejete. Mail rejected. OFR_506 [506]
|
|
93
|
+
# - Mail rejete. Mail rejected. OFR_506 [506]
|
|
108
94
|
'506' => 'spamdetected',
|
|
109
95
|
|
|
110
|
-
# 550 5.5.0 Service refuse. Veuillez essayer plus tard.
|
|
111
|
-
#
|
|
96
|
+
# - 550 5.5.0 Service refuse. Veuillez essayer plus tard. service refused, please try later.
|
|
97
|
+
# LPN005_510 (in reply to end of DATA command)
|
|
112
98
|
'510' => 'blocked',
|
|
113
99
|
|
|
114
|
-
# Mail rejete. Mail rejected. OUK_513
|
|
115
|
-
'513' => nil,
|
|
100
|
+
'513' => nil, # Mail rejete. Mail rejected. OUK_513
|
|
116
101
|
|
|
117
|
-
# Taille limite du message atteinte
|
|
102
|
+
# - Taille limite du message atteinte
|
|
118
103
|
'514' => 'mesgtoobig',
|
|
119
104
|
|
|
120
|
-
# 571 5.7.1 Message refused, DMARC verification Failed.
|
|
121
|
-
# Message refuse, verification DMARC en echec LPN007_517
|
|
122
|
-
'517' => '
|
|
105
|
+
# - 571 5.7.1 Message refused, DMARC verification Failed.
|
|
106
|
+
# - Message refuse, verification DMARC en echec LPN007_517
|
|
107
|
+
'517' => 'authfailure',
|
|
123
108
|
|
|
124
|
-
# 554 5.7.1 Client host rejected
|
|
125
|
-
# LPN000_630
|
|
109
|
+
# - 554 5.7.1 Client host rejected LPN000_630
|
|
126
110
|
'630' => 'policyviolation',
|
|
127
111
|
|
|
128
|
-
# 421 mwinf5c77 ME Service refuse. Veuillez essayer plus tard.
|
|
129
|
-
#
|
|
112
|
+
# - 421 mwinf5c77 ME Service refuse. Veuillez essayer plus tard. Service refused, please try
|
|
113
|
+
# later. OFR_999 [999]
|
|
130
114
|
'999' => 'blocked',
|
|
131
115
|
}.freeze
|
|
116
|
+
MessagesOf = {
|
|
117
|
+
'authfailure' => [
|
|
118
|
+
# - 421 smtp.orange.fr [192.0.2.1] Emetteur invalide, Veuillez verifier la configuration
|
|
119
|
+
# SPF/DNS de votre nom de domaine. Invalid Sender. SPF check failed, please verify the
|
|
120
|
+
# SPF/DNS configuration for your domain name.
|
|
121
|
+
'spf/dns de votre nom de domaine',
|
|
122
|
+
],
|
|
123
|
+
}.freeze
|
|
132
124
|
|
|
133
125
|
# Detect bounce reason from Oranage or La Poste
|
|
134
|
-
# @param [Sisimai::Fact] argvs
|
|
126
|
+
# @param [Sisimai::Fact] argvs Decoded email object
|
|
135
127
|
# @return [String] The bounce reason for Orange or La Poste
|
|
128
|
+
# @see https://www.postmastery.com/orange-postmaster-smtp-error-codes-ofr/
|
|
129
|
+
# https://smtpfieldmanual.com/provider/orange
|
|
136
130
|
def get(argvs)
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
statusmesg = argvs['diagnosticcode']
|
|
131
|
+
issuedcode = argvs['diagnosticcode']
|
|
140
132
|
reasontext = ''
|
|
141
133
|
|
|
142
|
-
if cv =
|
|
134
|
+
if cv = issuedcode.match(/\b(LPN|LPNAAA|OFR|OUK)(_[0-9]{3}|[0-9]{3}[-_][0-9]{3})\b/i)
|
|
143
135
|
# OUK_513, LPN105-104, OFR102-104, ofr_506
|
|
144
136
|
v = sprintf("%03d", (cv[1] + cv[2])[-3, 3])
|
|
145
137
|
reasontext = ErrorCodes[v] || 'undefined'
|
|
146
138
|
end
|
|
139
|
+
return reasontext if reasontext.size > 0
|
|
140
|
+
|
|
141
|
+
issuedcode = issuedcode.downcase
|
|
142
|
+
MessagesOf.each_key do |e|
|
|
143
|
+
MessagesOf[e].each do |f|
|
|
144
|
+
next unless issuedcode.include?(f)
|
|
145
|
+
reasontext = e
|
|
146
|
+
break
|
|
147
|
+
end
|
|
148
|
+
break if reasontext.size > 0
|
|
149
|
+
end
|
|
147
150
|
return reasontext
|
|
148
151
|
end
|
|
149
152
|
|