Update iRedAdmin-Pro API doc: able to manage global, per-domain and per-user spam policy.

This commit is contained in:
Zhang Huangbin 2016-12-23 01:25:23 +08:00
parent 1512e4c882
commit 01fbd1b44b
3 changed files with 148 additions and 6 deletions

View File

@ -282,6 +282,40 @@ Notes:
!!! api "`POST`{: .put } `/api/alias/<mail>/change_email/<new_mail>`{: .url } `Change email address of alias account (from '<mail>' to '<new_mail>')`{: .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/<domain>`{: .url } `Get per-domain spam policy`{: .comment } `upcoming`{: .upcoming }"
!!! api "`PUT`{: .put } `/api/spampolicy/domain/<domain>`{: .url } `Set per-domain spam policy`{: .comment } `upcoming`{: .upcoming } `Parameters`{: .has_params_spampolicy }"
!!! api "`DELETE`{: .delete } `/api/spampolicy/domain/<domain>`{: .url } `Delete per-domain spam policy`{: .comment } `upcoming`{: .upcoming }"
!!! api "`GET`{: .get } `/api/spampolicy/user/<mail>`{: .url } `Get per-user spam policy`{: .comment } `upcoming`{: .upcoming }"
!!! api "`PUT`{: .put } `/api/spampolicy/user/<mail>`{: .url } `Set per-user spam policy`{: .comment } `upcoming`{: .upcoming } `Parameters`{: .has_params_spampolicy }"
!!! api "`DELETE`{: .delete } `/api/spampolicy/user/<mail>`{: .url } `Delete per-user spam policy`{: .comment } `upcoming`{: .upcoming }"
<div class="params params_spampolicy">
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.)
</div>
### 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();});
});
</script>

View File

@ -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;

View File

@ -34,6 +34,7 @@
<li><a href="#mail-user">Mail User</a></li>
<li><a href="#mailing-list">Mailing List</a></li>
<li><a href="#mail-alias">Mail Alias</a></li>
<li><a href="#spam-policy">Spam Policy</a></li>
<li><a href="#throttling">Throttling</a></li>
<li><a href="#export-accounts">Export Accounts</a><ul>
<li><a href="#ldif-ldap-backend-only">LDIF (LDAP backend only)</a></li>
@ -715,6 +716,108 @@ please use mail alias account as mailing list.</p>
</div>
<div class="admonition api">
<p class="admonition-title"><code class="put">POST</code> <code class="url">/api/alias/&lt;mail&gt;/change_email/&lt;new_mail&gt;</code> <code class="comment">Change email address of alias account (from '&lt;mail&gt;' to '&lt;new_mail&gt;')</code></p>
</div>
<h3 class="toggle" id="spam-policy">Spam Policy</h3>
<div class="admonition api">
<p class="admonition-title"><code class="get">GET</code> <code class="url">/api/spampolicy/global</code> <code class="comment">Get global spam policy</code> <code class="upcoming">upcoming</code></p>
</div>
<div class="admonition api">
<p class="admonition-title"><code class="put">PUT</code> <code class="url">/api/spampolicy/global</code> <code class="comment">Set global spam policy</code> <code class="upcoming">upcoming</code> <code class="has_params_spampolicy">Parameters</code></p>
</div>
<div class="admonition api">
<p class="admonition-title"><code class="delete">DELETE</code> <code class="url">/api/spampolicy/global</code> <code class="comment">Delete global spam policy</code> <code class="upcoming">upcoming</code></p>
</div>
<div class="admonition api">
<p class="admonition-title"><code class="get">GET</code> <code class="url">/api/spampolicy/domain/&lt;domain&gt;</code> <code class="comment">Get per-domain spam policy</code> <code class="upcoming">upcoming</code></p>
</div>
<div class="admonition api">
<p class="admonition-title"><code class="put">PUT</code> <code class="url">/api/spampolicy/domain/&lt;domain&gt;</code> <code class="comment">Set per-domain spam policy</code> <code class="upcoming">upcoming</code> <code class="has_params_spampolicy">Parameters</code></p>
</div>
<div class="admonition api">
<p class="admonition-title"><code class="delete">DELETE</code> <code class="url">/api/spampolicy/domain/&lt;domain&gt;</code> <code class="comment">Delete per-domain spam policy</code> <code class="upcoming">upcoming</code></p>
</div>
<div class="admonition api">
<p class="admonition-title"><code class="get">GET</code> <code class="url">/api/spampolicy/user/&lt;mail&gt;</code> <code class="comment">Get per-user spam policy</code> <code class="upcoming">upcoming</code></p>
</div>
<div class="admonition api">
<p class="admonition-title"><code class="put">PUT</code> <code class="url">/api/spampolicy/user/&lt;mail&gt;</code> <code class="comment">Set per-user spam policy</code> <code class="upcoming">upcoming</code> <code class="has_params_spampolicy">Parameters</code></p>
</div>
<div class="admonition api">
<p class="admonition-title"><code class="delete">DELETE</code> <code class="url">/api/spampolicy/user/&lt;mail&gt;</code> <code class="comment">Delete per-user spam policy</code> <code class="upcoming">upcoming</code></p>
<div class="params params_spampolicy">
<p>Parameters available for global, per-domain, per-user spam policies.</p>
<blockquote>
<p>Per-user policy has the highest priority, then per-domain policy, then global policy.</p>
</blockquote>
<table>
<thead>
<tr>
<th>Parameter Name</th>
<th>Summary</th>
<th>Sample Usage</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>bypass_spam_checks</code></td>
<td>Bypass spam checks</td>
<td><code>bypass_spam_checks=yes</code> (default is <code>no</code>)</td>
</tr>
<tr>
<td><code>bypass_virus_checks</code></td>
<td>Bypass virus checks</td>
<td><code>bypass_virus_checks=yes</code> (default is <code>no</code>)</td>
</tr>
<tr>
<td><code>bypass_banned_checks</code></td>
<td>Bypass banned file type checks</td>
<td><code>bypass_banned_checks=yes</code> (default is <code>no</code>)</td>
</tr>
<tr>
<td><code>bypass_header_checks</code></td>
<td>Bypass bad header checks</td>
<td><code>bypass_header_checks=yes</code> (default is <code>no</code>)</td>
</tr>
<tr>
<td><code>quarantine_spam</code></td>
<td>Quarantine detected spam into SQL database</td>
<td><code>quarantine_spam=yes</code> (default is <code>no</code>)</td>
</tr>
<tr>
<td><code>quarantine_virus</code></td>
<td>Quarantine detected virus into SQL database</td>
<td><code>quarantine_virus=no</code> (default is <code>yes</code>)</td>
</tr>
<tr>
<td><code>quarantine_banned</code></td>
<td>Quarantine email with banned file type into SQL database</td>
<td><code>quarantine_banned=yes</code> (default is <code>no</code>)</td>
</tr>
<tr>
<td><code>quarantine_bad_header</code></td>
<td>Quarantine email with bad header into SQL database</td>
<td><code>quarantine_bad_header=yes</code> (default is <code>no</code>)</td>
</tr>
<tr>
<td><code>prefix_spam_in_subject</code></td>
<td>Prefix string <code>[SPAM]</code> in mail subject if it's spam</td>
<td><code>prefix_spam_in_subject=yes</code> (default is <code>no</code>)</td>
</tr>
<tr>
<td><code>always_insert_x_spam_headers</code></td>
<td>Always insert <code>X-Spam-*</code> headers in email. It contains spam score and matched SpamAssassin rules. <strong>Don't enable this unless you want to debug spam checking.</strong></td>
<td><code>always_insert_x_spam_headers=yes</code> (default is <code>no</code>)</td>
</tr>
<tr>
<td><code>spam_score</code></td>
<td>Set a preferred spam score, if scanned email has higher score than this one, it will be marked as spam.</td>
<td><code>spam_score=4</code> (defaults to use system setting defined in Amavisd config file.)</td>
</tr>
</tbody>
</table>
</div>
</div>
<h3 class="toggle" id="throttling">Throttling</h3>
<div class="admonition api">
@ -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();});
});
</script><div class="footer">
<p style="text-align: center; color: grey;">All documents are available in <a href="https://bitbucket.org/zhb/iredmail-docs/src">BitBucket repository</a>, and published under <a href="http://creativecommons.org/licenses/by-nd/3.0/us/" target="_blank">Creative Commons</a> license. You can <a href="https://bitbucket.org/zhb/iredmail-docs/get/tip.tar.bz2">download the latest version</a> for offline reading. If you found something wrong, please do <a href="http://www.iredmail.org/contact.html">contact us</a> to fix it.</p>