sisimai 4.22.4-java → 4.22.5-java
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/ChangeLog.md +13 -0
- data/README-JA.md +2 -2
- data/README.md +2 -2
- data/lib/sisimai.rb +2 -2
- data/lib/sisimai/arf.rb +1 -1
- data/lib/sisimai/bite/email.rb +11 -0
- data/lib/sisimai/bite/email/amazonses.rb +1 -1
- data/lib/sisimai/bite/email/ezweb.rb +4 -2
- data/lib/sisimai/bite/email/google.rb +3 -3
- data/lib/sisimai/bite/email/gsuite.rb +2 -2
- data/lib/sisimai/bite/email/interscanmss.rb +1 -1
- data/lib/sisimai/bite/email/kddi.rb +1 -0
- data/lib/sisimai/bite/email/mcafee.rb +1 -1
- data/lib/sisimai/bite/email/opensmtpd.rb +4 -4
- data/lib/sisimai/bite/email/outlook.rb +1 -1
- data/lib/sisimai/bite/email/x1.rb +1 -1
- data/lib/sisimai/bite/email/x3.rb +2 -2
- data/lib/sisimai/bite/json/amazonses.rb +1 -1
- data/lib/sisimai/data/json.rb +1 -1
- data/lib/sisimai/message/email.rb +8 -22
- data/lib/sisimai/order/email.rb +9 -27
- data/lib/sisimai/reason/contenterror.rb +10 -16
- data/lib/sisimai/reason/exceedlimit.rb +2 -2
- data/lib/sisimai/reason/expired.rb +17 -19
- data/lib/sisimai/reason/hasmoved.rb +2 -2
- data/lib/sisimai/reason/hostunknown.rb +17 -24
- data/lib/sisimai/reason/mailboxfull.rb +47 -66
- data/lib/sisimai/reason/mesgtoobig.rb +15 -20
- data/lib/sisimai/reason/networkerror.rb +18 -23
- data/lib/sisimai/reason/norelaying.rb +15 -21
- data/lib/sisimai/reason/notaccept.rb +5 -6
- data/lib/sisimai/reason/policyviolation.rb +19 -22
- data/lib/sisimai/reason/rejected.rb +46 -51
- data/lib/sisimai/reason/suspend.rb +16 -23
- data/lib/sisimai/reason/systemerror.rb +20 -29
- data/lib/sisimai/reason/systemfull.rb +5 -6
- data/lib/sisimai/reason/toomanyconn.rb +16 -21
- data/lib/sisimai/reason/vacation.rb +7 -9
- data/lib/sisimai/reason/virusdetected.rb +7 -8
- data/lib/sisimai/version.rb +1 -1
- data/set-of-emails/maildir/bsd/arf-14.eml +58 -319
- data/set-of-emails/maildir/bsd/email-postfix-32.eml +72 -0
- data/set-of-emails/maildir/bsd/rfc3834-01.eml +22 -36
- metadata +3 -72
- data/set-of-emails/maildir/bsd/README.md +0 -327
- data/set-of-emails/maildir/bsd/arf-15.eml +0 -66
- data/set-of-emails/maildir/bsd/email-exchange2007-02.eml +0 -252
- data/set-of-emails/maildir/bsd/email-exchange2007-03.eml +0 -1178
- data/set-of-emails/maildir/bsd/email-exim-09.eml +0 -169
- data/set-of-emails/maildir/bsd/email-exim-10.eml +0 -718
- data/set-of-emails/maildir/bsd/email-exim-11.eml +0 -718
- data/set-of-emails/maildir/bsd/email-exim-12.eml +0 -75
- data/set-of-emails/maildir/bsd/email-exim-13.eml +0 -145
- data/set-of-emails/maildir/bsd/email-exim-14.eml +0 -32
- data/set-of-emails/maildir/bsd/email-exim-15.eml +0 -49
- data/set-of-emails/maildir/bsd/email-exim-16.eml +0 -98
- data/set-of-emails/maildir/bsd/email-exim-17.eml +0 -50
- data/set-of-emails/maildir/bsd/email-exim-18.eml +0 -96
- data/set-of-emails/maildir/bsd/email-exim-19.eml +0 -52
- data/set-of-emails/maildir/bsd/email-exim-20.eml +0 -159
- data/set-of-emails/maildir/bsd/email-exim-21.eml +0 -150
- data/set-of-emails/maildir/bsd/email-exim-22.eml +0 -50
- data/set-of-emails/maildir/bsd/email-exim-23.eml +0 -57
- data/set-of-emails/maildir/bsd/email-exim-24.eml +0 -107
- data/set-of-emails/maildir/bsd/email-exim-25.eml +0 -18
- data/set-of-emails/maildir/bsd/email-exim-26.eml +0 -111
- data/set-of-emails/maildir/bsd/email-exim-27.eml +0 -120
- data/set-of-emails/maildir/bsd/email-exim-28.eml +0 -148
- data/set-of-emails/maildir/bsd/email-google-12.eml +0 -76
- data/set-of-emails/maildir/bsd/email-google-13.eml +0 -79
- data/set-of-emails/maildir/bsd/email-imailserver-05.eml +0 -92
- data/set-of-emails/maildir/bsd/email-interscanmss-02.eml +0 -259
- data/set-of-emails/maildir/bsd/email-notes-04.eml +0 -181
- data/set-of-emails/maildir/bsd/email-postfix-18.eml +0 -121
- data/set-of-emails/maildir/bsd/email-postfix-19.eml +0 -105
- data/set-of-emails/maildir/bsd/email-postfix-20.eml +0 -231
- data/set-of-emails/maildir/bsd/email-postfix-22.eml +0 -73
- data/set-of-emails/maildir/bsd/email-postfix-23.eml +0 -75
- data/set-of-emails/maildir/bsd/email-postfix-24.eml +0 -73
- data/set-of-emails/maildir/bsd/email-postfix-25.eml +0 -73
- data/set-of-emails/maildir/bsd/email-postfix-26.eml +0 -73
- data/set-of-emails/maildir/bsd/email-postfix-27.eml +0 -66
- data/set-of-emails/maildir/bsd/email-qmail-09.eml +0 -103
- data/set-of-emails/maildir/bsd/email-qmail-10.eml +0 -32
- data/set-of-emails/maildir/bsd/email-qmail-11.eml +0 -73
- data/set-of-emails/maildir/bsd/email-qmail-12.eml +0 -24
- data/set-of-emails/maildir/bsd/email-sendmail-23.eml +0 -137
- data/set-of-emails/maildir/bsd/email-x2-05.eml +0 -98
- data/set-of-emails/maildir/bsd/email-x4-01.eml +0 -92
- data/set-of-emails/maildir/bsd/email-x4-02.eml +0 -112
- data/set-of-emails/maildir/bsd/email-x4-03.eml +0 -245
- data/set-of-emails/maildir/bsd/email-x4-04.eml +0 -81
- data/set-of-emails/maildir/bsd/email-x4-05.eml +0 -121
- data/set-of-emails/maildir/bsd/email-x4-06.eml +0 -32
- data/set-of-emails/maildir/bsd/rfc3464-10.eml +0 -467
- data/set-of-emails/maildir/bsd/rfc3464-11.eml +0 -1171
- data/set-of-emails/maildir/bsd/rfc3464-12.eml +0 -101
- data/set-of-emails/maildir/bsd/rfc3464-13.eml +0 -131
- data/set-of-emails/maildir/bsd/rfc3464-14.eml +0 -121
- data/set-of-emails/maildir/bsd/rfc3464-15.eml +0 -144
- data/set-of-emails/maildir/bsd/rfc3464-16.eml +0 -36
- data/set-of-emails/maildir/bsd/rfc3464-17.eml +0 -109
- data/set-of-emails/maildir/bsd/rfc3464-18.eml +0 -149
- data/set-of-emails/maildir/bsd/rfc3464-19.eml +0 -65
- data/set-of-emails/maildir/bsd/rfc3464-20.eml +0 -145
- data/set-of-emails/maildir/bsd/rfc3464-21.eml +0 -146
- data/set-of-emails/maildir/bsd/rfc3464-24.eml +0 -27
- data/set-of-emails/maildir/bsd/rfc3464-30.eml +0 -1173
- data/set-of-emails/maildir/bsd/rfc3464-31.eml +0 -141
- data/set-of-emails/maildir/bsd/rfc3464-32.eml +0 -158
- data/set-of-emails/maildir/bsd/rfc3834-02.eml +0 -51
- data/set-of-emails/maildir/bsd/rfc3834-03.eml +0 -33
- data/set-of-emails/maildir/bsd/rfc3834-04.eml +0 -29
- data/set-of-emails/maildir/bsd/rfc3834-05.eml +0 -29
@@ -19,22 +19,16 @@ module Sisimai
|
|
19
19
|
# true: Matched
|
20
20
|
def match(argv1)
|
21
21
|
return nil unless argv1
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|text[ ]that[ ]uses[ ]unnecessary[ ]base64[ ]encoding
|
33
|
-
)
|
34
|
-
)
|
35
|
-
}x
|
36
|
-
|
37
|
-
return true if argv1 =~ regex
|
22
|
+
index = [
|
23
|
+
'improper use of 8-bit data in message header',
|
24
|
+
'message header size, or recipient list, exceeds policy limit',
|
25
|
+
'message mime complexity exceeds the policy maximum',
|
26
|
+
'routing loop detected -- too many received: headers',
|
27
|
+
'this message contain invalid mime headers',
|
28
|
+
'this message contain improperly-formatted binary content',
|
29
|
+
'this message contain text that uses unnecessary base64 encoding',
|
30
|
+
]
|
31
|
+
return true if index.find { |a| argv1.include?(a) }
|
38
32
|
return false
|
39
33
|
end
|
40
34
|
|
@@ -18,9 +18,9 @@ module Sisimai
|
|
18
18
|
# true: Matched
|
19
19
|
def match(argv1)
|
20
20
|
return nil unless argv1
|
21
|
-
|
21
|
+
index = ['message too large']
|
22
22
|
|
23
|
-
return true if argv1
|
23
|
+
return true if index.find { |a| argv1.include?(a) }
|
24
24
|
return false
|
25
25
|
end
|
26
26
|
|
@@ -18,26 +18,24 @@ module Sisimai
|
|
18
18
|
# true: Matched
|
19
19
|
def match(argv1)
|
20
20
|
return nil unless argv1
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
)
|
38
|
-
}x
|
21
|
+
index = [
|
22
|
+
'connection timed out',
|
23
|
+
'could not find a gateway for',
|
24
|
+
'delivery time expired',
|
25
|
+
'failed to deliver to domain ',
|
26
|
+
'giving up on',
|
27
|
+
'has been delayed',
|
28
|
+
'it has not been collected after',
|
29
|
+
'message expired after sitting in queue for',
|
30
|
+
'message timed out',
|
31
|
+
'retry time not reached for any host after a long failure period',
|
32
|
+
'server did not respond',
|
33
|
+
'this message has been in the queue too long',
|
34
|
+
'was not reachable within the allowed queue period',
|
35
|
+
'your message could not be delivered for more than',
|
36
|
+
]
|
39
37
|
|
40
|
-
return true if argv1
|
38
|
+
return true if index.find { |a| argv1.include?(a) }
|
41
39
|
return false
|
42
40
|
end
|
43
41
|
|
@@ -18,9 +18,9 @@ module Sisimai
|
|
18
18
|
# true: Matched
|
19
19
|
def match(argv1)
|
20
20
|
return nil unless argv1
|
21
|
-
|
21
|
+
index = [' has been replaced by ']
|
22
22
|
|
23
|
-
return true if argv1
|
23
|
+
return true if index.find { |a| argv1.include?(a) }
|
24
24
|
return false
|
25
25
|
end
|
26
26
|
|
@@ -18,31 +18,24 @@ module Sisimai
|
|
18
18
|
# @since v4.0.0
|
19
19
|
def match(argv1)
|
20
20
|
return nil unless argv1
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|domain[ ]must[ ]exist
|
38
|
-
)
|
39
|
-
|the[ ]account[ ]or[ ]domain[ ]may[ ]not[ ]exist
|
40
|
-
|unknown[ ]host
|
41
|
-
|unrouteable[ ]address
|
42
|
-
)
|
43
|
-
}x
|
21
|
+
index = [
|
22
|
+
'domain does not exist',
|
23
|
+
'domain is not reachable',
|
24
|
+
'domain must exist',
|
25
|
+
'host or domain name not found',
|
26
|
+
'host unknown',
|
27
|
+
'host unreachable',
|
28
|
+
'mail domain mentioned in email address is unknown',
|
29
|
+
'name or service not known',
|
30
|
+
'no such domain',
|
31
|
+
'recipient address rejected: unknown domain name',
|
32
|
+
'recipient domain must exist',
|
33
|
+
'the account or domain may not exist',
|
34
|
+
'unknown host',
|
35
|
+
'unrouteable address',
|
36
|
+
]
|
44
37
|
|
45
|
-
return true if argv1
|
38
|
+
return true if index.find { |a| argv1.include?(a) }
|
46
39
|
return false
|
47
40
|
end
|
48
41
|
|
@@ -18,73 +18,54 @@ module Sisimai
|
|
18
18
|
# true: Matched
|
19
19
|
def match(argv1)
|
20
20
|
return nil unless argv1
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|the[ ](?:
|
68
|
-
recipient[ ]mailbox[ ]has[ ]exceeded[ ]its[ ]disk[ ]space[ ]limit
|
69
|
-
|user[']s[ ]space[ ]has[ ]been[ ]used[ ]up
|
70
|
-
|user[ ]you[ ]are[ ]trying[ ]to[ ]reach[ ]is[ ]over[ ]quota
|
71
|
-
)
|
72
|
-
|too[ ]much[ ]mail[ ]data # @docomo.ne.jp
|
73
|
-
|user[ ](?:
|
74
|
-
has[ ](?:
|
75
|
-
exceeded[ ]quota,[ ]bouncing[ ]mail
|
76
|
-
|too[ ]many[ ]messages[ ]on[ ]the[ ]server
|
77
|
-
)
|
78
|
-
|is[ ]over[ ](?:the[ ])?quota
|
79
|
-
|over[ ]quota
|
80
|
-
|over[ ]quota[.][ ][(][#]5[.]1[.]1[)] # qmail-toaster
|
81
|
-
)
|
82
|
-
|was[ ]automatically[ ]rejected:[ ]quota[ ]exceeded
|
83
|
-
|would[ ]be[ ]over[ ]the[ ]allowed[ ]quota
|
84
|
-
)
|
85
|
-
}x
|
21
|
+
index = [
|
22
|
+
'account disabled temporarly for exceeding receiving limits',
|
23
|
+
'account is exceeding their quota',
|
24
|
+
'account is over quota',
|
25
|
+
'account is temporarily over quota',
|
26
|
+
'boite du destinataire pleine',
|
27
|
+
'delivery failed: over quota',
|
28
|
+
'disc quota exceeded',
|
29
|
+
'does not have enough space',
|
30
|
+
'exceeded storage allocation',
|
31
|
+
'exceeding its mailbox quota',
|
32
|
+
'full mailbox',
|
33
|
+
'is over disk quota',
|
34
|
+
'is over quota temporarily',
|
35
|
+
'mail file size exceeds the maximum size allowed for mail delivery',
|
36
|
+
'mail quota exceeded',
|
37
|
+
'mailbox exceeded the local limit',
|
38
|
+
'mailbox full',
|
39
|
+
'mailbox has exceeded its disk space limit',
|
40
|
+
'mailbox is full',
|
41
|
+
'mailbox over quota',
|
42
|
+
'mailbox quota usage exceeded',
|
43
|
+
'mailbox size limit exceeded',
|
44
|
+
'maildir over quota',
|
45
|
+
'maildir delivery failed: userdisk quota ',
|
46
|
+
'maildir delivery failed: domaindisk quota ',
|
47
|
+
'mailfolder is full',
|
48
|
+
'not enough storage space in',
|
49
|
+
'over the allowed quota',
|
50
|
+
'quota exceeded',
|
51
|
+
'quota violation for',
|
52
|
+
'recipient reached disk quota',
|
53
|
+
'recipient rejected: mailbox would exceed maximum allowed storage',
|
54
|
+
'the recipient mailbox has exceeded its disk space limit',
|
55
|
+
"the user's space has been used up",
|
56
|
+
'the user you are trying to reach is over quota',
|
57
|
+
'too much mail data', # @docomo.ne.jp
|
58
|
+
'user has exceeded quota, bouncing mail',
|
59
|
+
'user has too many messages on the server',
|
60
|
+
'user is over quota',
|
61
|
+
'user is over the quota',
|
62
|
+
'user over quota',
|
63
|
+
'user over quota. (#5.1.1)', # qmail-toaster
|
64
|
+
'was automatically rejected: quota exceeded',
|
65
|
+
'would be over the allowed quota',
|
66
|
+
]
|
86
67
|
|
87
|
-
return true if argv1
|
68
|
+
return true if index.find { |a| argv1.include?(a) }
|
88
69
|
return false
|
89
70
|
end
|
90
71
|
|
@@ -17,27 +17,22 @@ module Sisimai
|
|
17
17
|
# true: Matched
|
18
18
|
def match(argv1)
|
19
19
|
return nil unless argv1
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
)
|
35
|
-
|size[ ]limit
|
36
|
-
|taille[ ]limite[ ]du[ ]message[ ]atteinte.+[a-z]{3}.+514
|
37
|
-
)
|
38
|
-
}x
|
20
|
+
index = [
|
21
|
+
'exceeded maximum inbound message size',
|
22
|
+
'line limit exceeded',
|
23
|
+
'max message size exceeded',
|
24
|
+
'message file too big',
|
25
|
+
'message length exceeds administrative limit',
|
26
|
+
'message size exceeds fixed limit',
|
27
|
+
'message size exceeds fixed maximum message size',
|
28
|
+
'message size exceeds maximum value',
|
29
|
+
'message too big',
|
30
|
+
'message too large for this ',
|
31
|
+
'size limit',
|
32
|
+
'taille limite du message atteinte',
|
33
|
+
]
|
39
34
|
|
40
|
-
return true if argv1
|
35
|
+
return true if index.find { |a| argv1.include?(a) }
|
41
36
|
return false
|
42
37
|
end
|
43
38
|
|
@@ -22,30 +22,25 @@ module Sisimai
|
|
22
22
|
# true: Matched
|
23
23
|
def match(argv1)
|
24
24
|
return nil unless argv1
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|too[ ]many[ ]hops
|
43
|
-
|unable[ ]to[ ]resolve[ ]route[ ].+[ ]
|
44
|
-
|unrouteable[ ]mail[ ]domain
|
45
|
-
)
|
46
|
-
}x
|
25
|
+
index = [
|
26
|
+
'could not connect and send the mail to',
|
27
|
+
'dns records for the destination computer could not be found',
|
28
|
+
'hop count exceeded - possible mail loop',
|
29
|
+
'host is unreachable',
|
30
|
+
'host not found, try again',
|
31
|
+
'mail forwarding loop for ',
|
32
|
+
'malformed name server reply',
|
33
|
+
'malformed or unexpected name server reply',
|
34
|
+
'maximum forwarding loop count exceeded',
|
35
|
+
'message looping',
|
36
|
+
'message probably in a routing loop',
|
37
|
+
'no route to host',
|
38
|
+
'too many hops',
|
39
|
+
'unable to resolve route ',
|
40
|
+
'unrouteable mail domain',
|
41
|
+
]
|
47
42
|
|
48
|
-
return true if argv1
|
43
|
+
return true if index.find { |a| argv1.include?(a) }
|
49
44
|
return false
|
50
45
|
end
|
51
46
|
|
@@ -22,28 +22,22 @@ module Sisimai
|
|
22
22
|
# true: Matched
|
23
23
|
def match(argv1)
|
24
24
|
return nil unless argv1
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|relaying[ ]denied # Sendmail
|
40
|
-
|that[ ]domain[ ]isn[']t[ ]in[ ]my[ ]list[ ]of[ ]allowed[ ]rcpthost
|
41
|
-
|this[ ]system[ ]is[ ]not[ ]configured[ ]to[ ]relay[ ]mail
|
42
|
-
|unable[ ]to[ ]relay[ ]for
|
43
|
-
)
|
44
|
-
}x
|
25
|
+
index = [
|
26
|
+
'as a relay',
|
27
|
+
'insecure mail relay',
|
28
|
+
'mail server requires authentication when attempting to send to a non-local e-mail address', # MailEnable
|
29
|
+
'not allowed to relay through this machine',
|
30
|
+
'not an open relay, so get lost',
|
31
|
+
'relay access denied',
|
32
|
+
'relay denied',
|
33
|
+
'relay not permitted',
|
34
|
+
'relaying denied', # Sendmail
|
35
|
+
"that domain isn't in my list of allowed rcpthost",
|
36
|
+
'this system is not configured to relay mail',
|
37
|
+
'unable to relay for',
|
38
|
+
]
|
45
39
|
|
46
|
-
return true if argv1
|
40
|
+
return true if index.find { |a| argv1.include?(a) }
|
47
41
|
return false
|
48
42
|
end
|
49
43
|
|
@@ -22,13 +22,12 @@ module Sisimai
|
|
22
22
|
return nil unless argv1
|
23
23
|
|
24
24
|
# Destination mail server does not accept any message
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
}x
|
25
|
+
index = [
|
26
|
+
'name server: .: host not found', # Sendmail
|
27
|
+
'smtp protocol returned a permanent error',
|
28
|
+
]
|
30
29
|
|
31
|
-
return true if argv1
|
30
|
+
return true if index.find { |a| argv1.include?(a) }
|
32
31
|
return false
|
33
32
|
end
|
34
33
|
|
@@ -26,29 +26,26 @@ module Sisimai
|
|
26
26
|
# @since 4.22.0
|
27
27
|
def match(argv1)
|
28
28
|
return nil unless argv1
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|the[ ]email[ ]address[ ]used[ ]to[ ]send[ ]your[ ]message[ ]is[ ]not[ ]subscribed[ ]to[ ]this[ ]group
|
48
|
-
)
|
49
|
-
}x
|
29
|
+
index = [
|
30
|
+
'because the recipient is not accepting mail with ', # AOL Phoenix
|
31
|
+
'closed mailing list',
|
32
|
+
'denied by policy',
|
33
|
+
'email not accepted for policy reasons',
|
34
|
+
# http://kb.mimecast.com/Mimecast_Knowledge_Base/Administration_Console/Monitoring/Mimecast_SMTP_Error_Codes#554
|
35
|
+
'email rejected due to security policies',
|
36
|
+
'header are not accepted',
|
37
|
+
'header error',
|
38
|
+
'message given low priority',
|
39
|
+
'message not accepted for policy reasons',
|
40
|
+
'messages with multiple addresses',
|
41
|
+
'rejected for policy reasons',
|
42
|
+
'protocol violation',
|
43
|
+
'the email address used to send your message is not subscribed to this group',
|
44
|
+
'you have exceeded the allowable number of posts without solving a captcha',
|
45
|
+
'you have exceeded the the allowable number of posts without solving a captcha',
|
46
|
+
]
|
50
47
|
|
51
|
-
return true if argv1
|
48
|
+
return true if index.find { |a| argv1.include?(a) }
|
52
49
|
return false
|
53
50
|
end
|
54
51
|
|