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.

Files changed (104) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +4 -3
  3. data/ANALYTICAL-PRECISION +1 -1
  4. data/Benchmarks.mk +1 -1
  5. data/ChangeLog.md +71 -2
  6. data/Developers.mk +2 -2
  7. data/Makefile +1 -1
  8. data/README-JA.md +16 -16
  9. data/README.md +16 -16
  10. data/Repository.mk +1 -1
  11. data/lib/sisimai.rb +3 -3
  12. data/lib/sisimai/address.rb +6 -3
  13. data/lib/sisimai/arf.rb +25 -21
  14. data/lib/sisimai/data.rb +8 -29
  15. data/lib/sisimai/datetime.rb +18 -17
  16. data/lib/sisimai/lhost/amazonses.rb +1 -1
  17. data/lib/sisimai/lhost/domino.rb +29 -4
  18. data/lib/sisimai/lhost/einsundeins.rb +1 -1
  19. data/lib/sisimai/lhost/exchange2007.rb +1 -1
  20. data/lib/sisimai/lhost/exim.rb +12 -8
  21. data/lib/sisimai/lhost/ezweb.rb +1 -1
  22. data/lib/sisimai/lhost/fml.rb +0 -2
  23. data/lib/sisimai/lhost/gsuite.rb +5 -0
  24. data/lib/sisimai/lhost/imailserver.rb +1 -1
  25. data/lib/sisimai/lhost/mailfoundry.rb +3 -4
  26. data/lib/sisimai/lhost/mailmarshalsmtp.rb +2 -2
  27. data/lib/sisimai/lhost/mxlogic.rb +1 -1
  28. data/lib/sisimai/lhost/notes.rb +1 -1
  29. data/lib/sisimai/lhost/office365.rb +1 -1
  30. data/lib/sisimai/lhost/postfix.rb +3 -10
  31. data/lib/sisimai/lhost/qmail.rb +7 -7
  32. data/lib/sisimai/lhost/sendgrid.rb +2 -2
  33. data/lib/sisimai/lhost/sendmail.rb +1 -1
  34. data/lib/sisimai/lhost/verizon.rb +4 -4
  35. data/lib/sisimai/lhost/x3.rb +4 -0
  36. data/lib/sisimai/lhost/x4.rb +8 -8
  37. data/lib/sisimai/lhost/x5.rb +7 -3
  38. data/lib/sisimai/mail.rb +2 -21
  39. data/lib/sisimai/mda.rb +2 -2
  40. data/lib/sisimai/message.rb +47 -83
  41. data/lib/sisimai/reason/blocked.rb +40 -26
  42. data/lib/sisimai/reason/exceedlimit.rb +4 -1
  43. data/lib/sisimai/reason/expired.rb +2 -0
  44. data/lib/sisimai/reason/filtered.rb +1 -0
  45. data/lib/sisimai/reason/hostunknown.rb +3 -0
  46. data/lib/sisimai/reason/mailererror.rb +1 -1
  47. data/lib/sisimai/reason/norelaying.rb +5 -0
  48. data/lib/sisimai/reason/notaccept.rb +2 -0
  49. data/lib/sisimai/reason/policyviolation.rb +4 -0
  50. data/lib/sisimai/reason/rejected.rb +5 -1
  51. data/lib/sisimai/reason/securityerror.rb +5 -6
  52. data/lib/sisimai/reason/spamdetected.rb +17 -15
  53. data/lib/sisimai/reason/suspend.rb +1 -0
  54. data/lib/sisimai/reason/systemerror.rb +2 -0
  55. data/lib/sisimai/reason/userunknown.rb +25 -21
  56. data/lib/sisimai/rfc1894.rb +24 -22
  57. data/lib/sisimai/rfc3464.rb +4 -5
  58. data/lib/sisimai/rfc3834.rb +1 -1
  59. data/lib/sisimai/rfc5322.rb +8 -4
  60. data/lib/sisimai/rhost.rb +6 -8
  61. data/lib/sisimai/rhost/cox.rb +112 -0
  62. data/lib/sisimai/rhost/exchangeonline.rb +8 -1
  63. data/lib/sisimai/rhost/googleapps.rb +4 -1
  64. data/lib/sisimai/rhost/spectrum.rb +73 -0
  65. data/lib/sisimai/smtp/error.rb +8 -6
  66. data/lib/sisimai/smtp/reply.rb +1 -1
  67. data/lib/sisimai/smtp/status.rb +1 -1
  68. data/lib/sisimai/time.rb +1 -2
  69. data/lib/sisimai/version.rb +1 -1
  70. data/set-of-emails/README.md +5 -4
  71. data/set-of-emails/maildir/bsd/arf-25.eml +61 -0
  72. data/set-of-emails/maildir/bsd/lhost-aol-04.eml +23 -23
  73. data/set-of-emails/maildir/bsd/lhost-domino-02.eml +1 -2
  74. data/set-of-emails/maildir/bsd/lhost-exim-61.eml +40 -0
  75. data/set-of-emails/maildir/bsd/lhost-postfix-38.eml +1 -1
  76. data/set-of-emails/maildir/bsd/lhost-postfix-66.eml +80 -0
  77. data/set-of-emails/maildir/bsd/lhost-postfix-67.eml +80 -0
  78. data/set-of-emails/maildir/bsd/lhost-postfix-68.eml +82 -0
  79. data/set-of-emails/maildir/bsd/lhost-postfix-69.eml +80 -0
  80. data/set-of-emails/maildir/bsd/lhost-postfix-70.eml +87 -0
  81. data/set-of-emails/maildir/bsd/lhost-postfix-71.eml +81 -0
  82. data/set-of-emails/maildir/bsd/lhost-postfix-72.eml +81 -0
  83. data/set-of-emails/maildir/bsd/lhost-postfix-73.eml +79 -0
  84. data/set-of-emails/maildir/bsd/lhost-postfix-74.eml +83 -0
  85. data/set-of-emails/maildir/bsd/lhost-sendmail-08.eml +1 -1
  86. data/set-of-emails/maildir/bsd/lhost-sendmail-11.eml +1 -1
  87. data/set-of-emails/maildir/bsd/lhost-sendmail-57.eml +59 -0
  88. data/set-of-emails/maildir/bsd/lhost-sendmail-58.eml +70 -0
  89. data/set-of-emails/maildir/bsd/lhost-sendmail-59.eml +68 -0
  90. data/set-of-emails/maildir/bsd/lhost-x3-06.eml +53 -0
  91. data/set-of-emails/maildir/bsd/rhost-cox-01.eml +192 -0
  92. data/set-of-emails/maildir/bsd/{rhost-exchange-online-01.eml → rhost-exchangeonline-01.eml} +0 -0
  93. data/set-of-emails/maildir/bsd/{rhost-exchange-online-02.eml → rhost-exchangeonline-02.eml} +0 -0
  94. data/set-of-emails/maildir/bsd/{rhost-exchange-online-03.eml → rhost-exchangeonline-03.eml} +0 -0
  95. data/set-of-emails/maildir/bsd/{rhost-google-apps-01.eml → rhost-googleapps-01.eml} +0 -0
  96. data/set-of-emails/maildir/bsd/{rhost-google-apps-02.eml → rhost-googleapps-02.eml} +0 -0
  97. data/set-of-emails/maildir/bsd/rhost-spectrum-01.eml +111 -0
  98. data/set-of-emails/maildir/dos/{rhost-exchange-online-01.eml → rhost-exchangeonline-01.eml} +0 -0
  99. data/set-of-emails/maildir/dos/{rhost-google-apps-01.eml → rhost-googleapps-01.eml} +0 -0
  100. data/set-of-emails/maildir/mac/{rhost-exchange-online-01.eml → rhost-exchangeonline-01.eml} +0 -0
  101. data/set-of-emails/maildir/mac/{rhost-google-apps-01.eml → rhost-googleapps-01.eml} +0 -0
  102. data/sisimai-java.gemspec +4 -4
  103. data/sisimai.gemspec +4 -4
  104. 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
- access[ ]denied[.][ ]ip[ ]name[ ]lookup[ ]failed
14
- |access[ ]from[ ]ip[ ]address[ ].+[ ]blocked
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
- .+[ ]blocked[ ]using
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[ ].+because[ ]the[ ]ip[ ]is[ ]in[ ]spamhaus's[ ]list
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
- .+[ ]mismatches[ ]client[ ]ip
50
+ [^ ]+[ ]mismatches[ ]client[ ]ip
49
51
  |does[ ]not[ ]exist:
50
52
  )
51
- |dns[ ]lookup[ ]failure:[ ].+[ ]try[ ]again[ ]later
53
+ |dns[ ]lookup[ ]failure:[ ][^ ]+[ ]try[ ]again[ ]later
52
54
  |dnsbl:attrbl
53
55
  |dynamic/zombied/spam[ ]ips[ ]blocked
54
- |email[ ]blocked[ ]by[ ](?:.+[.]barracudacentral[.]org|spamhaus)
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[ ].+[ ]refused[ ]to[ ]talk[ ]to[ ]me:[ ]\d+[ ]blocked
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[ ].*rbl[ ]on[ ].+
73
+ in[ ]a[ ]black[ ]list(?:[ ]at[ ][^ ]+[.])?
74
+ |in[ ]an[ ][^ ]+rbl[ ]on[ ][^ ]+
71
75
  |not[ ]allowed[ ]to[ ]send[ ](?:
72
76
  mail[ ]from
73
- |from[ ].+[ ]per[ ]it's[ ]spf[ ]record
77
+ |from[ ][<][^ ]+[>][ ]per[ ]it's[ ]spf[ ]record
74
78
  )
75
79
  )
76
- |mail[ ]server[ ]at[ ].+[ ]is[ ]blocked
80
+ |mail[ ]server[ ]at[ ][^ ]+[ ]is[ ]blocked
77
81
  |mail[ ]from[ ]\d+[.]\d+[.]\d+[.]\d[ ]refused:
78
- |message[ ]from[ ].+[ ]rejected[ ]based[ ]on[ ]blacklist
79
- |messages[ ]from[ ].+[ ]temporarily[ ]deferred[ ]due[ ]to[ ]user[ ]complaints # Yahoo!
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[ ].+[ ]failed[ ]permanently
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
- .+[ ]forbidden[ ]by[ ]invalid[ ]rdns[ ]record[ ]of[ ]your[ ]mail[ ]server
113
+ [^ ]+[ ]forbidden[ ]by[ ]invalid[ ]rdns[ ]record[ ]of[ ]your[ ]mail[ ]server
104
114
  |forbidden[ ]by[ ]your[ ]ip[ ]
105
115
  )
106
- |server[ ]ip[ ].+[ ]listed[ ]as[ ]abusive
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
- .+[ ]domain[ ]authentication[ ]fail
125
+ [(]sender[ ]policy[ ]framework[)][ ]domain[ ]authentication[ ]fail
116
126
  |record
117
127
  |check:[ ]fail
118
128
  )
119
- |spf:[ ].+[ ]is[ ]not[ ]allowed[ ]to[ ]send[ ]mail.+[a-z]{3}.+401
120
- |the[ ](?:email|domain|ip).+[ ]is[ ]blacklisted
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.+[a-z]{3}.+(?:103|510)
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[ ].+[.]abuseat[.]org
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
- access[ ]to[ ]submit[ ]messages[ ]to[ ]this[ ]e-mail[ ]system[ ]has[ ]been[ ]rejected
144
- |message[ ]was[ ]rejected[ ]for[ ]possible[ ]spam/virus[ ]content
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 = ['message too large']
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
 
@@ -21,7 +21,7 @@ module Sisimai
21
21
  )
22
22
  |exit[ ]\d+
23
23
  |mailer[ ]error
24
- |pipe[ ]to[ ][|][/].+
24
+ |pipe[ ]to[ ][|][/][^ ]+
25
25
  |x[-]unix[;][ ]\d+ # X-UNIX; 127
26
26
  )
27
27
  }x
@@ -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[ ].+[ ]said: # Postfix
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
- |codes?[ ]d'?[ ]*authentification[ ]invalide.+[a-z]{3}.+305
34
- |domain[ ].+[ ]is[ ]a[ ]dead[ ]domain
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[ ].+[ ]is[ ]not[ ]authorized[ ]to[ ]perform[ ]ses:sendrawemail[ ]on[ ]resource
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
- |http://(?:www[.]spamhaus[.]org|dsbl[.]org)
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.+[a-z]{3}.+506
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
- |not[ ]accepted[ ]for[ ]policy[ ]reasons[.][ ]see[ ]http: # Yahoo!
55
- |refused[ ]by[ ]mailmarshal[ ]spamprofiler
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[ ].+[ ]percent[ ]probability[ ]of[ ]being[ ]spam
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[ ].+[ ][(]spam[)]
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[ ].+is[ ]blacklisted[ ]on # Mailmarshal RBLs
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
- .+[ ]exceeded
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[ ].+[ ]spam[ ]points
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',