sisimai 4.25.6 → 4.25.11
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of sisimai might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.travis.yml +4 -3
- data/ANALYTICAL-PRECISION +1 -1
- data/Benchmarks.mk +1 -1
- data/ChangeLog.md +71 -2
- data/Developers.mk +2 -2
- data/Makefile +1 -1
- data/README-JA.md +16 -16
- data/README.md +16 -16
- data/Repository.mk +1 -1
- data/lib/sisimai.rb +3 -3
- data/lib/sisimai/address.rb +6 -3
- data/lib/sisimai/arf.rb +25 -21
- data/lib/sisimai/data.rb +8 -29
- data/lib/sisimai/datetime.rb +18 -17
- data/lib/sisimai/lhost/amazonses.rb +1 -1
- data/lib/sisimai/lhost/domino.rb +29 -4
- data/lib/sisimai/lhost/einsundeins.rb +1 -1
- data/lib/sisimai/lhost/exchange2007.rb +1 -1
- data/lib/sisimai/lhost/exim.rb +12 -8
- data/lib/sisimai/lhost/ezweb.rb +1 -1
- data/lib/sisimai/lhost/fml.rb +0 -2
- data/lib/sisimai/lhost/gsuite.rb +5 -0
- data/lib/sisimai/lhost/imailserver.rb +1 -1
- data/lib/sisimai/lhost/mailfoundry.rb +3 -4
- data/lib/sisimai/lhost/mailmarshalsmtp.rb +2 -2
- data/lib/sisimai/lhost/mxlogic.rb +1 -1
- data/lib/sisimai/lhost/notes.rb +1 -1
- data/lib/sisimai/lhost/office365.rb +1 -1
- data/lib/sisimai/lhost/postfix.rb +3 -10
- data/lib/sisimai/lhost/qmail.rb +7 -7
- data/lib/sisimai/lhost/sendgrid.rb +2 -2
- data/lib/sisimai/lhost/sendmail.rb +1 -1
- data/lib/sisimai/lhost/verizon.rb +4 -4
- data/lib/sisimai/lhost/x3.rb +4 -0
- data/lib/sisimai/lhost/x4.rb +8 -8
- data/lib/sisimai/lhost/x5.rb +7 -3
- data/lib/sisimai/mail.rb +2 -21
- data/lib/sisimai/mda.rb +2 -2
- data/lib/sisimai/message.rb +47 -83
- data/lib/sisimai/reason/blocked.rb +40 -26
- data/lib/sisimai/reason/exceedlimit.rb +4 -1
- data/lib/sisimai/reason/expired.rb +2 -0
- data/lib/sisimai/reason/filtered.rb +1 -0
- data/lib/sisimai/reason/hostunknown.rb +3 -0
- data/lib/sisimai/reason/mailererror.rb +1 -1
- data/lib/sisimai/reason/norelaying.rb +5 -0
- data/lib/sisimai/reason/notaccept.rb +2 -0
- data/lib/sisimai/reason/policyviolation.rb +4 -0
- data/lib/sisimai/reason/rejected.rb +5 -1
- data/lib/sisimai/reason/securityerror.rb +5 -6
- data/lib/sisimai/reason/spamdetected.rb +17 -15
- data/lib/sisimai/reason/suspend.rb +1 -0
- data/lib/sisimai/reason/systemerror.rb +2 -0
- data/lib/sisimai/reason/userunknown.rb +25 -21
- data/lib/sisimai/rfc1894.rb +24 -22
- data/lib/sisimai/rfc3464.rb +4 -5
- data/lib/sisimai/rfc3834.rb +1 -1
- data/lib/sisimai/rfc5322.rb +8 -4
- data/lib/sisimai/rhost.rb +6 -8
- data/lib/sisimai/rhost/cox.rb +112 -0
- data/lib/sisimai/rhost/exchangeonline.rb +8 -1
- data/lib/sisimai/rhost/googleapps.rb +4 -1
- data/lib/sisimai/rhost/spectrum.rb +73 -0
- data/lib/sisimai/smtp/error.rb +8 -6
- data/lib/sisimai/smtp/reply.rb +1 -1
- data/lib/sisimai/smtp/status.rb +1 -1
- data/lib/sisimai/time.rb +1 -2
- data/lib/sisimai/version.rb +1 -1
- data/set-of-emails/README.md +5 -4
- data/set-of-emails/maildir/bsd/arf-25.eml +61 -0
- data/set-of-emails/maildir/bsd/lhost-aol-04.eml +23 -23
- data/set-of-emails/maildir/bsd/lhost-domino-02.eml +1 -2
- data/set-of-emails/maildir/bsd/lhost-exim-61.eml +40 -0
- data/set-of-emails/maildir/bsd/lhost-postfix-38.eml +1 -1
- data/set-of-emails/maildir/bsd/lhost-postfix-66.eml +80 -0
- data/set-of-emails/maildir/bsd/lhost-postfix-67.eml +80 -0
- data/set-of-emails/maildir/bsd/lhost-postfix-68.eml +82 -0
- data/set-of-emails/maildir/bsd/lhost-postfix-69.eml +80 -0
- data/set-of-emails/maildir/bsd/lhost-postfix-70.eml +87 -0
- data/set-of-emails/maildir/bsd/lhost-postfix-71.eml +81 -0
- data/set-of-emails/maildir/bsd/lhost-postfix-72.eml +81 -0
- data/set-of-emails/maildir/bsd/lhost-postfix-73.eml +79 -0
- data/set-of-emails/maildir/bsd/lhost-postfix-74.eml +83 -0
- data/set-of-emails/maildir/bsd/lhost-sendmail-08.eml +1 -1
- data/set-of-emails/maildir/bsd/lhost-sendmail-11.eml +1 -1
- data/set-of-emails/maildir/bsd/lhost-sendmail-57.eml +59 -0
- data/set-of-emails/maildir/bsd/lhost-sendmail-58.eml +70 -0
- data/set-of-emails/maildir/bsd/lhost-sendmail-59.eml +68 -0
- data/set-of-emails/maildir/bsd/lhost-x3-06.eml +53 -0
- data/set-of-emails/maildir/bsd/rhost-cox-01.eml +192 -0
- data/set-of-emails/maildir/bsd/{rhost-exchange-online-01.eml → rhost-exchangeonline-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{rhost-exchange-online-02.eml → rhost-exchangeonline-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{rhost-exchange-online-03.eml → rhost-exchangeonline-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{rhost-google-apps-01.eml → rhost-googleapps-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{rhost-google-apps-02.eml → rhost-googleapps-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/rhost-spectrum-01.eml +111 -0
- data/set-of-emails/maildir/dos/{rhost-exchange-online-01.eml → rhost-exchangeonline-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{rhost-google-apps-01.eml → rhost-googleapps-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{rhost-exchange-online-01.eml → rhost-exchangeonline-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{rhost-google-apps-01.eml → rhost-googleapps-01.eml} +0 -0
- data/sisimai-java.gemspec +4 -4
- data/sisimai.gemspec +4 -4
- metadata +39 -20
@@ -10,8 +10,10 @@ module Sisimai
|
|
10
10
|
# Imported from p5-Sisimail/lib/Sisimai/Reason/Blocked.pm
|
11
11
|
class << self
|
12
12
|
Regex = %r{(?>
|
13
|
-
|
14
|
-
|
|
13
|
+
[ ]said:[ ]550[ ]blocked
|
14
|
+
|[(][^ ]+[@][^ ]+:blocked[)]
|
15
|
+
|access[ ]denied[.][ ]ip[ ]name[ ]lookup[ ]failed
|
16
|
+
|access[ ]from[ ]ip[ ]address[ ][^ ]+[ ]blocked
|
15
17
|
|all[ ]mail[ ]servers[ ]must[ ]have[ ]a[ ]ptr[ ]record[ ]with[ ]a[ ]valid[ ]reverse[ ]dns[ ]entry
|
16
18
|
|bad[ ](:?dns[ ]ptr[ ]resource[ ]record|sender[ ]ip[ ]address)
|
17
19
|
|banned[ ]sending[ ]ip # Office365
|
@@ -24,7 +26,7 @@ module Sisimai
|
|
24
26
|
|resolve[ ]your[ ]address
|
25
27
|
)
|
26
28
|
|client[ ]host[ ](?:
|
27
|
-
|
29
|
+
[^ ]+[ ]blocked[ ]using
|
28
30
|
|rejected:[ ](?:
|
29
31
|
abus[ ]detecte[ ]gu_eib_0[24] # SFR
|
30
32
|
|cannot[ ]find[ ]your[ ]hostname # Yahoo!
|
@@ -41,22 +43,24 @@ module Sisimai
|
|
41
43
|
)
|
42
44
|
|connections[ ](?:
|
43
45
|
not[ ]accepted[ ]from[ ]ip[ ]addresses[ ]on[ ]spamhaus[ ]xbl
|
44
|
-
|will[ ]not[ ]be[ ]accepted[ ]from[ ]
|
46
|
+
|will[ ]not[ ]be[ ]accepted[ ]from[ ][^ ]+,[ ]because[ ]the[ ]ip[ ]is[ ]in[ ]spamhaus's[ ]list
|
45
47
|
)
|
46
48
|
|currently[ ]sending[ ]spam[ ]see:[ ]
|
47
49
|
|domain[ ](?:
|
48
|
-
|
50
|
+
[^ ]+[ ]mismatches[ ]client[ ]ip
|
49
51
|
|does[ ]not[ ]exist:
|
50
52
|
)
|
51
|
-
|dns[ ]lookup[ ]failure:[ ]
|
53
|
+
|dns[ ]lookup[ ]failure:[ ][^ ]+[ ]try[ ]again[ ]later
|
52
54
|
|dnsbl:attrbl
|
53
55
|
|dynamic/zombied/spam[ ]ips[ ]blocked
|
54
|
-
|email[ ]blocked[ ]by[ ](
|
56
|
+
|email[ ]blocked[ ]by[ ](?:[^ ]+[.]barracudacentral[.]org|spamhaus)
|
57
|
+
|error:[ ]no[ ]valid[ ]recipients[ ]from[ ]
|
55
58
|
|esmtp[ ]not[ ]accepting[ ]connections # icloud.com
|
56
|
-
|fix[ ]reverse[ ]dns[ ]for[ ]
|
59
|
+
|fix[ ]reverse[ ]dns[ ]for[ ][^ ]+
|
57
60
|
|go[ ]away
|
58
61
|
|helo[ ]command[ ]rejected:
|
59
|
-
|host[ ]
|
62
|
+
|host[ ]+[^ ]refused[ ]to[ ]talk[ ]to[ ]me:[ ]\d+[ ]blocked
|
63
|
+
|host[ ]network[ ]not[ ]allowed
|
60
64
|
|hosts[ ]with[ ]dynamic[ ]ip
|
61
65
|
|http://(?:
|
62
66
|
spf[.]pobox[.]com/why[.]html
|
@@ -66,17 +70,18 @@ module Sisimai
|
|
66
70
|
|ip[ ]\d{1,3}[.]\d{1,3}[.]\d{1,3}[.]\d{1,3}[ ]is[ ]blocked[ ]by[ ]EarthLink # Earthlink
|
67
71
|
|ip[/]domain[ ]reputation[ ]problems
|
68
72
|
|is[ ](?:
|
69
|
-
in[ ]a[ ]black[ ]list[ ]at[ ]
|
70
|
-
|in[ ]an[ ]
|
73
|
+
in[ ]a[ ]black[ ]list(?:[ ]at[ ][^ ]+[.])?
|
74
|
+
|in[ ]an[ ][^ ]+rbl[ ]on[ ][^ ]+
|
71
75
|
|not[ ]allowed[ ]to[ ]send[ ](?:
|
72
76
|
mail[ ]from
|
73
|
-
|from[ ]
|
77
|
+
|from[ ][<][^ ]+[>][ ]per[ ]it's[ ]spf[ ]record
|
74
78
|
)
|
75
79
|
)
|
76
|
-
|mail[ ]server[ ]at[ ]
|
80
|
+
|mail[ ]server[ ]at[ ][^ ]+[ ]is[ ]blocked
|
77
81
|
|mail[ ]from[ ]\d+[.]\d+[.]\d+[.]\d[ ]refused:
|
78
|
-
|message[ ]from[ ]
|
79
|
-
|
|
82
|
+
|message[ ]from[ ][^ ]+[ ]rejected[ ]based[ ]on[ ]blacklist
|
83
|
+
|message[ ]was[ ]rejected[ ]for[ ]possible[ ]spam/virus[ ]content
|
84
|
+
|messages[ ]from[ ][^ ]+[ ]temporarily[ ]deferred[ ]due[ ]to[ ]user[ ]complaints # Yahoo!
|
80
85
|
|no[ ](?:
|
81
86
|
access[ ]from[ ]mail[ ]server
|
82
87
|
|ptr[ ]record[ ]found[.]
|
@@ -89,21 +94,26 @@ module Sisimai
|
|
89
94
|
|use[ ]the[ ]smtp[ ]server[ ]of[ ]your[ ]isp
|
90
95
|
)
|
91
96
|
|ptr[ ]record[ ]setup
|
97
|
+
|rejected[ ]because[ ]the[ ]sending[ ]mta[ ]or[ ]the[ ]sender[ ]has[ ]not[ ]passed[ ]validation
|
98
|
+
|rejected[ ]due[ ]to[ ](?:
|
99
|
+
a[ ]poor[ ]email[ ]reputation[ ]score
|
100
|
+
|the[ ]sending[ ]mta's[ ]poor[ ]reputation
|
101
|
+
)
|
92
102
|
|rejecting[ ]open[ ]proxy # Sendmail(srvrsmtp.c)
|
93
103
|
|reverse[ ]dns[ ](?:
|
94
104
|
failed
|
95
105
|
|required
|
96
|
-
|lookup[ ]for[ ]host[ ]
|
106
|
+
|lookup[ ]for[ ]host[ ][^ ]+[ ]failed[ ]permanently
|
97
107
|
)
|
98
108
|
|sender[ ]ip[ ](?:
|
99
109
|
address[ ]rejected
|
100
110
|
|reverse[ ]lookup[ ]rejected
|
101
111
|
)
|
102
112
|
|server[ ]access[ ](?:
|
103
|
-
|
113
|
+
[^ ]+[ ]forbidden[ ]by[ ]invalid[ ]rdns[ ]record[ ]of[ ]your[ ]mail[ ]server
|
104
114
|
|forbidden[ ]by[ ]your[ ]ip[ ]
|
105
115
|
)
|
106
|
-
|server[ ]ip[ ]
|
116
|
+
|server[ ]ip[ ][^ ]+[ ]listed[ ]as[ ]abusive
|
107
117
|
|service[ ]not[ ]available,[ ]closing[ ]transmission[ ]channel
|
108
118
|
|service[ ]permits[ ]\d+[ ]unverifyable[ ]sending[ ]ips
|
109
119
|
|smtp[ ]error[ ]from[ ]remote[ ]mail[ ]server[ ]after[ ]initial[ ]connection: # Exim
|
@@ -112,25 +122,27 @@ module Sisimai
|
|
112
122
|
|your[ ]remotehost[ ]looks[ ]suspiciously[ ]like[ ]spammer
|
113
123
|
)
|
114
124
|
|spf[ ](?:
|
115
|
-
|
125
|
+
[(]sender[ ]policy[ ]framework[)][ ]domain[ ]authentication[ ]fail
|
116
126
|
|record
|
117
127
|
|check:[ ]fail
|
118
128
|
)
|
119
|
-
|spf:[ ]
|
120
|
-
|
|
129
|
+
|spf:[ ][^ ]+[ ]is[ ]not[ ]allowed[ ]to[ ]send[ ]mail[.][ ][a-z0-9]_401
|
130
|
+
|temporarily[ ]deferred[ ]due[ ]to[ ]unexpected[ ]volume[ ]or[ ]user[ ]complaints
|
131
|
+
|the[ ](?:email|domain|ip)[ ][^ ]+[ ]is[ ]blacklisted
|
121
132
|
|this[ ]system[ ]will[ ]not[ ]accept[ ]messages[ ]from[ ]servers[/]devices[ ]with[ ]no[ ]reverse[ ]dns
|
133
|
+
|to[ ]submit[ ]messages[ ]to[ ]this[ ]e-mail[ ]system[ ]has[ ]been[ ]rejected
|
122
134
|
|too[ ]many[ ](?:
|
123
135
|
spams[ ]from[ ]your[ ]ip # free.fr
|
124
136
|
|unwanted[ ]messages[ ]have[ ]been[ ]sent[ ]from[ ]the[ ]following[ ]ip[ ]address[ ]above
|
125
137
|
)
|
126
138
|
|unresolvable[ ]relay[ ]host[ ]name
|
127
|
-
|veuillez[ ]essayer[ ]plus[ ]tard
|
139
|
+
|veuillez[ ]essayer[ ]plus[ ]tard[.][ ]service[ ]refused,[ ]please[ ]try[ ]later[.][ ][0-9a-z_]+(?:103|510)
|
128
140
|
|your[ ](?:
|
129
141
|
network[ ]is[ ]temporary[ ]blacklisted
|
130
|
-
|sender's[ ]ip[ ]address[ ]is[ ]listed[ ]at[ ]
|
142
|
+
|sender's[ ]ip[ ]address[ ]is[ ]listed[ ]at[ ][^ ]+[.]abuseat[.]org
|
131
143
|
|server[ ]requires[ ]confirmation
|
132
144
|
)
|
133
|
-
|was[ ]blocked[ ]by[ ]
|
145
|
+
|was[ ]blocked[ ]by[ ][^ ]+
|
134
146
|
|we[ ]do[ ]not[ ]accept[ ]mail[ ]from[ ](?: # @mail.ru
|
135
147
|
dynamic[ ]ips
|
136
148
|
|hosts[ ]with[ ]dynamic[ ]ip[ ]or[ ]generic[ ]dns[ ]ptr-records
|
@@ -140,8 +152,10 @@ module Sisimai
|
|
140
152
|
|sending[ ]spam
|
141
153
|
)
|
142
154
|
|your[ ](?:
|
143
|
-
|
144
|
-
|
|
155
|
+
email[ ]address[ ]has[ ]been[ ]blacklisted
|
156
|
+
|network[ ]is[ ]temporary[ ]blacklisted
|
157
|
+
|sender's[ ]ip[ ]address[ ]is[ ]listed[ ]at[ ][^ ]+[.]abuseat[.]org
|
158
|
+
|server[ ]requires[ ]confirmation
|
145
159
|
)
|
146
160
|
)
|
147
161
|
}x
|
@@ -9,7 +9,10 @@ module Sisimai
|
|
9
9
|
module ExceedLimit
|
10
10
|
# Imported from p5-Sisimail/lib/Sisimai/Reason/ExceedLimit.pm
|
11
11
|
class << self
|
12
|
-
Index = [
|
12
|
+
Index = [
|
13
|
+
'message header size exceeds limit',
|
14
|
+
'message too large',
|
15
|
+
]
|
13
16
|
|
14
17
|
def text; return 'exceedlimit'; end
|
15
18
|
def description; return 'Email rejected due to an email exceeded the limit'; end
|
@@ -12,9 +12,11 @@ module Sisimai
|
|
12
12
|
Index = [
|
13
13
|
'connection timed out',
|
14
14
|
'could not find a gateway for',
|
15
|
+
'delivery attempts will continue to be',
|
15
16
|
'delivery time expired',
|
16
17
|
'failed to deliver to domain ',
|
17
18
|
'giving up on',
|
19
|
+
'have been failing for a long time',
|
18
20
|
'has been delayed',
|
19
21
|
'it has not been collected after',
|
20
22
|
'message expired after sitting in queue for',
|
@@ -18,6 +18,7 @@ module Sisimai
|
|
18
18
|
'due to extended inactivity new mail is not currently being accepted for this mailbox',
|
19
19
|
'has restricted sms e-mail', # AT&T
|
20
20
|
'is not accepting any mail',
|
21
|
+
'message rejected due to user rules',
|
21
22
|
'refused due to recipient preferences', # Facebook
|
22
23
|
'resolver.rst.notauthorized', # Microsoft Exchange
|
23
24
|
'this account is protected by',
|
@@ -22,8 +22,10 @@ module Sisimai
|
|
22
22
|
'recipient domain must exist',
|
23
23
|
'the account or domain may not exist',
|
24
24
|
'unknown host',
|
25
|
+
'unroutable address',
|
25
26
|
'unrouteable address',
|
26
27
|
]
|
28
|
+
Regex = %r/553[ ][^ ]+[ ]does[ ]not[ ]exist/
|
27
29
|
|
28
30
|
def text; return 'hostunknown'; end
|
29
31
|
def description; return "Delivery failed due to a domain part of a recipient's email address does not exist"; end
|
@@ -36,6 +38,7 @@ module Sisimai
|
|
36
38
|
def match(argv1)
|
37
39
|
return nil unless argv1
|
38
40
|
return true if Index.any? { |a| argv1.include?(a) }
|
41
|
+
return true if argv1 =~ Regex
|
39
42
|
return false
|
40
43
|
end
|
41
44
|
|
@@ -16,16 +16,21 @@ module Sisimai
|
|
16
16
|
Index = [
|
17
17
|
'as a relay',
|
18
18
|
'insecure mail relay',
|
19
|
+
'is not permitted to relay through this server without authentication',
|
19
20
|
'mail server requires authentication when attempting to send to a non-local e-mail address', # MailEnable
|
21
|
+
'not a gateway',
|
20
22
|
'not allowed to relay through this machine',
|
21
23
|
'not an open relay, so get lost',
|
24
|
+
'not local host',
|
22
25
|
'relay access denied',
|
23
26
|
'relay denied',
|
24
27
|
'relay not permitted',
|
25
28
|
'relaying denied', # Sendmail
|
29
|
+
'relaying mail to ',
|
26
30
|
"that domain isn't in my list of allowed rcpthost",
|
27
31
|
'this system is not configured to relay mail',
|
28
32
|
'unable to relay for',
|
33
|
+
"we don't handle mail for",
|
29
34
|
]
|
30
35
|
|
31
36
|
def text; return 'norelaying'; end
|
@@ -14,8 +14,10 @@ module Sisimai
|
|
14
14
|
# Destination mail server does not accept any message
|
15
15
|
Index = [
|
16
16
|
'host/domain does not accept mail', # iCloud
|
17
|
+
'host does not accept mail', # Sendmail
|
17
18
|
'name server: .: host not found', # Sendmail
|
18
19
|
'no mx record found for domain=', # Oath(Yahoo!)
|
20
|
+
'no route for current request',
|
19
21
|
'smtp protocol returned a permanent error',
|
20
22
|
]
|
21
23
|
|
@@ -19,14 +19,17 @@ module Sisimai
|
|
19
19
|
Index = [
|
20
20
|
'an illegal attachment on your message',
|
21
21
|
'because the recipient is not accepting mail with ', # AOL Phoenix
|
22
|
+
'by non-member to a members-only list',
|
22
23
|
'closed mailing list',
|
23
24
|
'denied by policy',
|
25
|
+
'dmarc policy',
|
24
26
|
'email not accepted for policy reasons',
|
25
27
|
# http://kb.mimecast.com/Mimecast_Knowledge_Base/Administration_Console/Monitoring/Mimecast_SMTP_Error_Codes#554
|
26
28
|
'email rejected due to security policies',
|
27
29
|
'header are not accepted',
|
28
30
|
'header error',
|
29
31
|
'local policy violation',
|
32
|
+
'message bounced due to organizational settings',
|
30
33
|
'message given low priority',
|
31
34
|
'message not accepted for policy reasons',
|
32
35
|
'messages with multiple addresses',
|
@@ -34,6 +37,7 @@ module Sisimai
|
|
34
37
|
'protocol violation',
|
35
38
|
'the email address used to send your message is not subscribed to this group',
|
36
39
|
'this message was blocked because its content presents a potential',
|
40
|
+
'we do not accept messages containing images or other attachments',
|
37
41
|
'you have exceeded the allowable number of posts without solving a captcha',
|
38
42
|
'you have exceeded the the allowable number of posts without solving a captcha',
|
39
43
|
]
|
@@ -21,8 +21,8 @@ module Sisimai
|
|
21
21
|
'sender ip address rejected',
|
22
22
|
]
|
23
23
|
Index = [
|
24
|
-
'<> invalid sender',
|
25
24
|
'access denied (in reply to mail from command)',
|
25
|
+
'access denied (sender blacklisted)',
|
26
26
|
'address rejected',
|
27
27
|
'administrative prohibition',
|
28
28
|
'batv failed to verify', # SoniWall
|
@@ -31,6 +31,7 @@ module Sisimai
|
|
31
31
|
'bogus mail from', # IMail - block empty sender
|
32
32
|
'connections not accepted from servers without a valid sender domain',
|
33
33
|
'denied [bouncedeny]', # McAfee
|
34
|
+
'denied by secumail valid-address-filter',
|
34
35
|
'delivery not authorized, message refused',
|
35
36
|
'does not exist e2110',
|
36
37
|
'domain of sender address ',
|
@@ -41,6 +42,7 @@ module Sisimai
|
|
41
42
|
'from: domain is invalid. please provide a valid from:',
|
42
43
|
'fully qualified email address required', # McAfee
|
43
44
|
'invalid domain, see <url:',
|
45
|
+
'invalid sender',
|
44
46
|
'is not a registered gateway user',
|
45
47
|
'mail from not owned by user',
|
46
48
|
'message rejected: email address is not verified',
|
@@ -51,6 +53,7 @@ module Sisimai
|
|
51
53
|
'returned mail not accepted here',
|
52
54
|
'rfc 1035 violation: recursive cname records for',
|
53
55
|
'rule imposed mailbox access for', # MailMarshal
|
56
|
+
'sender address has been blacklisted',
|
54
57
|
'sender email address rejected',
|
55
58
|
'sender is spammer',
|
56
59
|
'sender not pre-approved',
|
@@ -59,6 +62,7 @@ module Sisimai
|
|
59
62
|
'sender verify failed', # Exim callout
|
60
63
|
'syntax error: empty email address',
|
61
64
|
'the message has been rejected by batv defense',
|
65
|
+
'this server does not accept mail from',
|
62
66
|
'transaction failed unsigned dsn for',
|
63
67
|
'unroutable sender address',
|
64
68
|
'you are sending to/from an address that has been blacklisted',
|
@@ -21,27 +21,26 @@ module Sisimai
|
|
21
21
|
class << self
|
22
22
|
Regex = %r{(?>
|
23
23
|
account[ ]not[ ]subscribed[ ]to[ ]ses
|
24
|
-
|authentification[ ]requise.+[a-z]{3}.+402
|
25
24
|
|authentication[ ](?:
|
26
25
|
credentials invalid
|
27
26
|
|failure
|
28
|
-
|failed;[ ]server[ ]
|
27
|
+
|failed;[ ]server[ ][^ ]+[ ]said: # Postfix
|
29
28
|
|required
|
30
29
|
|turned[ ]on[ ]in[ ]your[ ]email[ ]client
|
31
30
|
)
|
32
31
|
|\d+[ ]denied[ ]\[[a-z]+\][ ].+[(]mode:[ ].+[)]
|
33
|
-
|
|
34
|
-
|
|
32
|
+
|authentification[ ]requise.+[0-9a-z_]+402
|
33
|
+
|codes?[ ]d'?[ ]*authentification[ ]invalide.+[0-9a-z_]+305
|
34
|
+
|domain[ ][^ ]+[ ]is[ ]a[ ]dead[ ]domain
|
35
35
|
|executable[ ]files[ ]are[ ]not[ ]allowed[ ]in[ ]compressed[ ]files
|
36
36
|
|insecure[ ]mail[ ]relay
|
37
37
|
|recipient[ ]address[ ]rejected:[ ]access[ ]denied
|
38
38
|
|sorry,[ ]you[ ]don'?t[ ]authenticate[ ]or[ ]the[ ]domain[ ]isn'?t[ ]in[ ]
|
39
39
|
my[ ]list[ ]of[ ]allowed[ ]rcpthosts
|
40
40
|
|tls[ ]required[ ]but[ ]not[ ]supported # SendGrid:the recipient mailserver does not support TLS or have a valid certificate
|
41
|
-
|user[ ].+[ ]is[ ]not[ ]authorized[ ]to[ ]perform[ ]ses:sendrawemail[ ]on[ ]resource
|
42
41
|
|tls[ ]required[ ]but[ ]not[ ]supported # SendGrid:the recipient mailserver does not support TLS or have a valid certificate
|
43
42
|
|unauthenticated[ ]senders[ ]not[ ]allowed
|
44
|
-
|user[ ]
|
43
|
+
|user[ ][^ ]+[ ]is[ ]not[ ]authorized[ ]to[ ]perform[ ]ses:sendrawemail[ ]on[ ]resource
|
45
44
|
|you[ ]are[ ]not[ ]authorized[ ]to[ ]send[ ]mail,[ ]authentication[ ]is[ ]required
|
46
45
|
|verification[ ]failure
|
47
46
|
)
|
@@ -20,6 +20,7 @@ module Sisimai
|
|
20
20
|
["]the[ ]mail[ ]server[ ]detected[ ]your[ ]message[ ]as[ ]spam[ ]and[ ]
|
21
21
|
has[ ]prevented[ ]delivery[.]["] # CPanel/Exim with SA rejections on
|
22
22
|
|(?:\d[.]\d[.]\d|\d{3})[ ]spam\z
|
23
|
+
|554[ ]5[.]7[.]0[ ]reject,[ ]id=\d+
|
23
24
|
|appears[ ]to[ ]be[ ]unsolicited
|
24
25
|
|blacklisted[ ]url[ ]in[ ]message
|
25
26
|
|block[ ]for[ ]spam
|
@@ -29,17 +30,18 @@ module Sisimai
|
|
29
30
|
)
|
30
31
|
|blocked[ ]for[ ]abuse[.][ ]see[ ]http://att[.]net/blocks # AT&T
|
31
32
|
|bulk[ ]email
|
33
|
+
|considered[ ]unsolicited[ ]bulk[ ]e-mail[ ][(]spam[)][ ]by[ ]our[ ]mail[ ]filters
|
32
34
|
|content[ ]filter[ ]rejection
|
33
35
|
|cyberoam[ ]anti[ ]spam[ ]engine[ ]has[ ]identified[ ]this[ ]email[ ]as[ ]a[ ]bulk[ ]email
|
34
36
|
|denied[ ]due[ ]to[ ]spam[ ]list
|
35
|
-
|dt:spm[ ]mx.+[ ]http://mail[.]163[.]com/help/help_spam_16[.]htm
|
36
37
|
|greylisted.?.[ ]please[ ]try[ ]again[ ]in
|
37
|
-
|
|
38
|
+
|high[ ]probability[ ]of[ ]spam
|
39
|
+
|https?://(?:www[.]spamhaus[.]org|dsbl[.]org|mail[.]163[.]com/help/help_spam_16[.]htm)
|
38
40
|
|listed[ ]in[ ]work[.]drbl[.]imedia[.]ru
|
39
41
|
|mail[ ](?:
|
40
42
|
appears[ ]to[ ]be[ ]unsolicited # rejected due to spam
|
41
43
|
|content[ ]denied # http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=20022&&no=1000726
|
42
|
-
|rejete
|
44
|
+
|rejete[.][ ]mail[ ]rejected[.][ ][0-9a-z_]+506
|
43
45
|
)
|
44
46
|
|may[ ]consider[ ]spam
|
45
47
|
|message[ ](?:
|
@@ -51,8 +53,10 @@ module Sisimai
|
|
51
53
|
|refer[ ]to[ ]the[ ]troubleshooting[ ]page[ ]at[ ]
|
52
54
|
)
|
53
55
|
|looks[ ]like[ ]spam
|
54
|
-
|
|
55
|
-
|
56
|
+
|refused[ ]by[ ](?:
|
57
|
+
mailmarshal[ ]spamprofiler
|
58
|
+
|trustwave[ ]seg[ ]spamprofiler
|
59
|
+
)
|
56
60
|
|rejected[ ](?:
|
57
61
|
as[ ]spam
|
58
62
|
|because[ ]of[ ]unacceptable[ ]content
|
@@ -62,25 +66,23 @@ module Sisimai
|
|
62
66
|
)
|
63
67
|
|our[ ](?:
|
64
68
|
email[ ]server[ ]thinks[ ]this[ ]email[ ]is[ ]spam
|
65
|
-
|filters[ ]rate[ ]at[ ]and[ ]above[ ]
|
69
|
+
|filters[ ]rate[ ]at[ ]and[ ]above[ ]\d+[ ]percent[ ]probability[ ]of[ ]being[ ]spam
|
66
70
|
|system[ ]has[ ]detected[ ]that[ ]this[ ]message[ ]is
|
67
71
|
)
|
68
|
-
|permanent[ ]failure[ ]for[ ]one[ ]or[ ]more[ ]recipients[ ][(].+:blocked[)]
|
69
72
|
|probable[ ]spam
|
70
73
|
|reject[ ]bulk[.]advertising
|
71
|
-
|reject,.+[ ][-][ ]spam[.][ ]
|
72
74
|
|rejected(?:
|
73
75
|
:[ ]spamassassin[ ]score[ ]
|
74
|
-
|[ ]by[ ]
|
75
|
-
|[ ]due[ ]to[ ]spam[ ](?:classification|content)
|
76
|
+
|[ ]by[ ][^ ]+[ ][(]spam[)]
|
77
|
+
|[ ]due[ ]to[ ]spam[ ](?:url[ ]in[ ])?(?:classification|content)
|
76
78
|
)
|
77
|
-
|rejecting[ ]banned[ ]content
|
79
|
+
|rejecting[ ](?:banned|mail)[ ]content
|
78
80
|
|related[ ]to[ ]content[ ]with[ ]spam[-]like[ ]characteristics
|
79
|
-
|rule[ ]imposed[ ]as[ ]
|
80
|
-
|sender[ ]domain[ ]listed[ ]at[ ]
|
81
|
+
|rule[ ]imposed[ ]as[ ][^ ]+[ ]is[ ]blacklisted[ ]on
|
82
|
+
|sender[ ]domain[ ]listed[ ]at[ ][^ ]+
|
81
83
|
|sending[ ]address[ ]not[ ]accepted[ ]due[ ]to[ ]spam[ ]filter
|
82
84
|
|spam[ ](?:
|
83
|
-
|
85
|
+
[^ ]+[ ]exceeded
|
84
86
|
|blocked
|
85
87
|
|check
|
86
88
|
|content[ ]matched
|
@@ -112,7 +114,7 @@ module Sisimai
|
|
112
114
|
identified[ ]as[ ]spam
|
113
115
|
|scored[ ]as[ ]spam[ ]with[ ]a[ ]probability
|
114
116
|
)
|
115
|
-
|scored[ ]
|
117
|
+
|scored[ ][^ ]+[ ]spam[ ]points
|
116
118
|
|was[ ]classified[ ]as[ ]spam
|
117
119
|
|was[ ]rejected[ ]by[ ]recurrent[ ]pattern[ ]detection[ ]system
|
118
120
|
)
|
@@ -13,6 +13,7 @@ module Sisimai
|
|
13
13
|
' temporary locked',
|
14
14
|
'boite du destinataire archivee',
|
15
15
|
'email account that you tried to reach is disabled',
|
16
|
+
'has been suspended',
|
16
17
|
'invalid/inactive user',
|
17
18
|
'is a deactivated mailbox', # http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=20022&&no=1000742
|
18
19
|
'mailbox currently suspended',
|
@@ -13,6 +13,7 @@ module Sisimai
|
|
13
13
|
# Imported from p5-Sisimail/lib/Sisimai/Reason/SystemError.pm
|
14
14
|
class << self
|
15
15
|
Index = [
|
16
|
+
'aliasing/forwarding loop broken',
|
16
17
|
"can't create user output file",
|
17
18
|
'could not load drd for domain',
|
18
19
|
'internal error reading data', # Microsoft
|
@@ -25,6 +26,7 @@ module Sisimai
|
|
25
26
|
'loop was found in the mail exchanger',
|
26
27
|
'loops back to myself',
|
27
28
|
'mail system configuration error',
|
29
|
+
'remote server is misconfigured',
|
28
30
|
'server configuration error',
|
29
31
|
'service currently unavailable',
|
30
32
|
'system config error',
|