diff --git a/en_US/iredadmin/2-iredadmin-pro.restful.api.md b/en_US/iredadmin/2-iredadmin-pro.restful.api.md
index 5c07024a..7478ace9 100644
--- a/en_US/iredadmin/2-iredadmin-pro.restful.api.md
+++ b/en_US/iredadmin/2-iredadmin-pro.restful.api.md
@@ -282,6 +282,40 @@ Notes:
!!! api "`POST`{: .put } `/api/alias//change_email/`{: .url } `Change email address of alias account (from '' to '')`{: .comment }"
+### Spam Policy {: .toggle }
+
+!!! api "`GET`{: .get } `/api/spampolicy/global`{: .url } `Get global spam policy`{: .comment } `upcoming`{: .upcoming }"
+!!! api "`PUT`{: .put } `/api/spampolicy/global`{: .url } `Set global spam policy`{: .comment } `upcoming`{: .upcoming } `Parameters`{: .has_params_spampolicy }"
+!!! api "`DELETE`{: .delete } `/api/spampolicy/global`{: .url } `Delete global spam policy`{: .comment } `upcoming`{: .upcoming }"
+!!! api "`GET`{: .get } `/api/spampolicy/domain/`{: .url } `Get per-domain spam policy`{: .comment } `upcoming`{: .upcoming }"
+!!! api "`PUT`{: .put } `/api/spampolicy/domain/`{: .url } `Set per-domain spam policy`{: .comment } `upcoming`{: .upcoming } `Parameters`{: .has_params_spampolicy }"
+!!! api "`DELETE`{: .delete } `/api/spampolicy/domain/`{: .url } `Delete per-domain spam policy`{: .comment } `upcoming`{: .upcoming }"
+!!! api "`GET`{: .get } `/api/spampolicy/user/`{: .url } `Get per-user spam policy`{: .comment } `upcoming`{: .upcoming }"
+!!! api "`PUT`{: .put } `/api/spampolicy/user/`{: .url } `Set per-user spam policy`{: .comment } `upcoming`{: .upcoming } `Parameters`{: .has_params_spampolicy }"
+!!! api "`DELETE`{: .delete } `/api/spampolicy/user/`{: .url } `Delete per-user spam policy`{: .comment } `upcoming`{: .upcoming }"
+
+
+
+ Parameters available for global, per-domain, per-user spam policies.
+
+ > Per-user policy has the highest priority, then per-domain policy, then global policy.
+
+ Parameter Name | Summary | Sample Usage
+ --- |--- |---
+ `bypass_spam_checks` | Bypass spam checks | `bypass_spam_checks=yes` (default is `no`)
+ `bypass_virus_checks` | Bypass virus checks | `bypass_virus_checks=yes` (default is `no`)
+ `bypass_banned_checks` | Bypass banned file type checks | `bypass_banned_checks=yes` (default is `no`)
+ `bypass_header_checks` | Bypass bad header checks | `bypass_header_checks=yes` (default is `no`)
+ `quarantine_spam` | Quarantine detected spam into SQL database | `quarantine_spam=yes` (default is `no`)
+ `quarantine_virus` | Quarantine detected virus into SQL database | `quarantine_virus=no` (default is `yes`)
+ `quarantine_banned` | Quarantine email with banned file type into SQL database | `quarantine_banned=yes` (default is `no`)
+ `quarantine_bad_header` | Quarantine email with bad header into SQL database | `quarantine_bad_header=yes` (default is `no`)
+ `prefix_spam_in_subject` | Prefix string `[SPAM] ` in mail subject if it's spam | `prefix_spam_in_subject=yes` (default is `no`)
+ `always_insert_x_spam_headers` | Always insert `X-Spam-*` headers in email. It contains spam score and matched SpamAssassin rules. __Don't enable this unless you want to debug spam checking.__ | `always_insert_x_spam_headers=yes` (default is `no`)
+ `spam_score` | Set a preferred spam score, if scanned email has higher score than this one, it will be marked as spam. | `spam_score=4` (defaults to use system setting defined in Amavisd config file.)
+
+
+
### Throttling {: .toggle }
!!! api "`GET`{: .get } `/api/throttle/global/inbound`{: .url } `Get global inbound throttle settings`{: .comment }"
@@ -338,7 +372,7 @@ $(document).ready(function(){
$('.params').hide();
/* Expand/Collapse ALL parameters */
- $('.toggle_all').bind('click', function(){$('.params').toggle();});
+ $('.toggle_all').bind('click', function(){$('.params').toggle();});
/* Expand/Collapse parameters under same title/category */
$('.toggle').on('click', function() {
@@ -351,6 +385,7 @@ $(document).ready(function(){
});
/* Expand/Collapse specific parameters */
- $('.has_params_throttle').bind('click', function(){$('.params_throttle').toggle();});
+ $('.has_params_throttle').bind('click', function(){$('.params_throttle').toggle();});
+ $('.has_params_spampolicy').bind('click', function(){$('.params_spampolicy').toggle();});
});
diff --git a/html/css/markdown.css b/html/css/markdown.css
index d828499a..a3227177 100755
--- a/html/css/markdown.css
+++ b/html/css/markdown.css
@@ -400,7 +400,8 @@ button, .button { font-size: 16px; padding: 5px 5px 5px 5px; }
.api code.put,
.api code.delete,
.api code.has_params,
-.api code.has_params_throttle
+.api code.has_params_throttle,
+.api code.has_params_spampolicy
{
display: inline-block;
width: 60px;
@@ -413,7 +414,9 @@ button, .button { font-size: 16px; padding: 5px 5px 5px 5px; }
.api code.upcoming { background-color: #0f6ab4; text-transform: uppercase; font-size: 12px; }
.api code.new { background-color: #10a54a; text-transform: uppercase; }
.api code.has_params,
-.api code.has_params_throttle {
+.api code.has_params_throttle,
+.api code.has_params_spampolicy
+{
background-color: #0064cd;
font-size: 12px;
float: right;
diff --git a/html/iredadmin-pro.restful.api.html b/html/iredadmin-pro.restful.api.html
index 3bb5a801..e200976d 100644
--- a/html/iredadmin-pro.restful.api.html
+++ b/html/iredadmin-pro.restful.api.html
@@ -34,6 +34,7 @@
Mail User
Mailing List
Mail Alias
+Spam Policy
Throttling
Export Accounts
POST
/api/alias/<mail>/change_email/<new_mail>
+
+Spam Policy
+
+
GET
/api/spampolicy/global
upcoming
+
+
+
PUT
/api/spampolicy/global
upcoming
Parameters
+
+
+
DELETE
/api/spampolicy/global
upcoming
+
+
+
GET
/api/spampolicy/domain/<domain>
upcoming
+
+
+
PUT
/api/spampolicy/domain/<domain>
upcoming
Parameters
+
+
+
DELETE
/api/spampolicy/domain/<domain>
upcoming
+
+
+
GET
/api/spampolicy/user/<mail>
upcoming
+
+
+
PUT
/api/spampolicy/user/<mail>
upcoming
Parameters
+
+
+
DELETE
/api/spampolicy/user/<mail>
upcoming
+
+
+
Parameters available for global, per-domain, per-user spam policies.
+
+Per-user policy has the highest priority, then per-domain policy, then global policy.
+
+
+
+
+Parameter Name |
+Summary |
+Sample Usage |
+
+
+
+
+bypass_spam_checks |
+Bypass spam checks |
+bypass_spam_checks=yes (default is no ) |
+
+
+bypass_virus_checks |
+Bypass virus checks |
+bypass_virus_checks=yes (default is no ) |
+
+
+bypass_banned_checks |
+Bypass banned file type checks |
+bypass_banned_checks=yes (default is no ) |
+
+
+bypass_header_checks |
+Bypass bad header checks |
+bypass_header_checks=yes (default is no ) |
+
+
+quarantine_spam |
+Quarantine detected spam into SQL database |
+quarantine_spam=yes (default is no ) |
+
+
+quarantine_virus |
+Quarantine detected virus into SQL database |
+quarantine_virus=no (default is yes ) |
+
+
+quarantine_banned |
+Quarantine email with banned file type into SQL database |
+quarantine_banned=yes (default is no ) |
+
+
+quarantine_bad_header |
+Quarantine email with bad header into SQL database |
+quarantine_bad_header=yes (default is no ) |
+
+
+prefix_spam_in_subject |
+Prefix string [SPAM] in mail subject if it's spam |
+prefix_spam_in_subject=yes (default is no ) |
+
+
+always_insert_x_spam_headers |
+Always insert X-Spam-* headers in email. It contains spam score and matched SpamAssassin rules. Don't enable this unless you want to debug spam checking. |
+always_insert_x_spam_headers=yes (default is no ) |
+
+
+spam_score |
+Set a preferred spam score, if scanned email has higher score than this one, it will be marked as spam. |
+spam_score=4 (defaults to use system setting defined in Amavisd config file.) |
+
+
+
+
+
Throttling
@@ -817,7 +920,7 @@ $(document).ready(function(){
$('.params').hide();
/* Expand/Collapse ALL parameters */
- $('.toggle_all').bind('click', function(){$('.params').toggle();});
+ $('.toggle_all').bind('click', function(){$('.params').toggle();});
/* Expand/Collapse parameters under same title/category */
$('.toggle').on('click', function() {
@@ -830,7 +933,8 @@ $(document).ready(function(){
});
/* Expand/Collapse specific parameters */
- $('.has_params_throttle').bind('click', function(){$('.params_throttle').toggle();});
+ $('.has_params_throttle').bind('click', function(){$('.params_throttle').toggle();});
+ $('.has_params_spampolicy').bind('click', function(){$('.params_spampolicy').toggle();});
});