From b65437bdec71a6e1d26cd371dd3a4714c8278537 Mon Sep 17 00:00:00 2001
From: Zhang Huangbin
Date: Mon, 15 Jul 2019 13:18:23 +0800
Subject: [PATCH] Sync iRedAdmin-Pro RESTful API doc.
---
.../0-iredadmin-pro.restful.api-new.md | 911 ------------------
.../iredadmin/2-iredadmin-pro.restful.api.md | 95 +-
en_US/upgrade/2-iredadmin-pro.releases.md | 6 +-
html/iredadmin-pro.releases.html | 16 +-
...> iredadmin-pro.restful.api-20190715.html} | 212 +---
html/iredadmin-pro.restful.api.html | 233 ++++-
6 files changed, 343 insertions(+), 1130 deletions(-)
delete mode 100644 en_US/iredadmin/0-iredadmin-pro.restful.api-new.md
rename html/{iredadmin-pro.restful.api-new.html => iredadmin-pro.restful.api-20190715.html} (86%)
diff --git a/en_US/iredadmin/0-iredadmin-pro.restful.api-new.md b/en_US/iredadmin/0-iredadmin-pro.restful.api-new.md
deleted file mode 100644
index 26d246ca..00000000
--- a/en_US/iredadmin/0-iredadmin-pro.restful.api-new.md
+++ /dev/null
@@ -1,911 +0,0 @@
-# iRedAdmin-Pro: RESTful API
-
-[TOC]
-
-!!! attention
-
- * This document is applicable to `iRedAdmin-Pro-SQL-3.6` and
- `iRedAdmin-Pro-LDAP-3.8`. If you're running an old release, please
- upgrade iRedAdmin-Pro to the latest release, or check
- [document for old releases](./iredadmin-pro.releases.html).
- * If you need an API which has not yet been implemented, don't hesitate to
- [contact us](https://www.iredmail.org/contact.html).
- * [Release Notes of all iRedAdmin-Pro releases](./iredadmin-pro.releases.html).
-
-## Summary
-
-iRedAdmin-Pro RESTful API will return message in JSON format.
-
-* If operation succeed:
- * For http `POST`, `DELETE`, `PUT` methods, it returns JSON data: `{'_success': true}`.
- * For http `GET` method, it returns JSON data: `{'_success': true, '_data': }`.
-* If operation failed, it returns JSON data: `{'_success': false, '_msg': ''}`.
-
-## Enable RESTful API
-
-RESTful API is disabled by default, to enable it, please add setting below in
-iRedAdmin-Pro config file `settings.py`:
-
-```
-ENABLE_RESTFUL_API = True
-```
-
-Restarting `iredadmin` (if you're running Nginx) or Apache service is required
-after changed iRedAdmin config file.
-
-!!! note "iRedAdmin-Pro config file location"
-
- * on RHEL/CentOS, it's `/opt/www/iredadmin/settings.py` (in recent iRedMail
- releases) or `/var/www/iredadmin/settings.py` (in old iRedMail releases).
- * on Debian/Ubuntu, it's `/opt/www/iredadmin/settings.py` (in recent
- iRedMail releases) or `/usr/share/apache2/iredadmin/settings.py` (in old
- iRedMail releases).
- * on FreeBSD, it's `/usr/local/www/iredadmin/settings.py`.
- * on OpenBSD, it's `/opt/www/iredadmin/settings.py` (in recent iRedMail
- releases) or `/var/www/iredadmin/settings.py` (in old iRedMail releases).
-
-To restrict API access to few IP addresses, please login to iRedAdmin-Pro as
-global admin, then click menu `System -> Settings`, find option `RESTful API is accessible only from specified IP addresses or networks`, input the allowed IP addresses or
-networks.
-
-## Sample code to interact with iRedAdmin-Pro RESTful API
-
-* [iRedAdmin-Pro RESTful API (interact with `curl`)](./iredadmin-pro.restful.api.curl.html)
-* [iRedAdmin-Pro RESTful API (interact with Python)](./iredadmin-pro.restful.api.python.html)
-
-## APIs
-
-Notes:
-
-* Parameter name with a `*` mark means the parameter is required, otherwise is optional.
-* replace `` in URL by the real domain name. e.g. `example.com`
-* replace `` in URL by the real email address. e.g. `user@domain.com`
-* replace `` in URL by an integer number. e.g. `30`, `200`
-
-
-
-### Login {: .toggle }
-
-!!! api "`POST`{: .post } `/api/login`{: .url } `Login with an admin username (full email address) and password`{: .comment } `Parameters`{: .has_params }"
-
-
-
- Parameter | Summary | Sample Usage
- --- |--- |---
- `username` | Admin username. Must be a full email address. | `username=admin@mydomain.com`
- `password` | (Plain) admin password. | `password=AsTr0ng@`
-
-
-
-### Domain {: .toggle }
-
-!!! api "`GET`{: .get } `/api/domains`{: .url } `Get profiles of all managed mail domains`{: .comment } `Parameters`{: .has_params }"
-
-
-
- Parameter | Summary | Sample Usage
- --- |--- |---
- `name_only` | Return only mail domain names | `name_only=yes`
- `disabled_only` | Return only disabled mail domains | `disabled_only=yes`
-
-
-
-!!! api "`GET`{: .get } `/api/domain/`{: .url } `Get profile of an existing domain`{: .comment }"
-!!! api "`POST`{: .post } `/api/domain/`{: .url } `Create a new domain`{: .comment } `Parameters`{: .has_params }"
-
-
-
- Parameter | Summary | Sample Usage
- --- |--- |---
- `name`* | Short description of this domain name. e.g. company name | `name=Google Inc`
- `quota` | Per-domain mailbox quota, in MB. | `quota=2048`
- `language` | Default preferred language for newly created mail user | `language=en_US`
- `transport` | Transport program | `transport=dovecot`
- `defaultQuota` | Default per-user mailbox quota for newly created user, in MB. | `defaultQuota=1024`
- `maxUserQuota` | Max mailbox quota of a mail user, in MB. | `maxUserQuota=2048`
- `numberOfUsers` | Max number of mail user accounts | `numberOfUsers=20`
- `numberOfAliases` | Max number of mail alias accounts | `numberOfAliases=30`
- `numberOfLists` | Max number of mailing list accounts (Available in LDAP backends)| `numberOfLists=40`
- `senderBcc` | Per-domain sender bcc | `senderBcc=user@domain.com`
- `recipientBcc` | Per-domain recipient bcc | `recipientBcc=user@domain.com`
-
-
-
-!!! api "`DELETE`{: .delete } `/api/domain/`{: .url } `Delete an existing domain (all mail messages will NOT be removed)`{: .comment }"
-!!! api "`DELETE`{: .delete } `/api/domain//keep_mailbox_days/`{: .url } `Delete domain, and keep all mail messages for given days. Defaults to 0 day which means keeping forever.`{: .comment }"
-!!! api "`PUT`{: .put } `/api/domain/`{: .url } `Update profile of an existing domain`{: .comment } `Parameters`{: .has_params }"
-
-
-
- Parameter | Summary | Sample Usage
- --- |--- |---
- `name` | Short description of this domain name. e.g. company name | `name=Google Inc`
- `accountStatus` | Enable or disable domain. Possible values: `active`, `disabled`. | `accountStatus=active`
- `quota` | Mailbox quota for whole domain, in MB. | `quota=2048`
- `language` | Default preferred language for newly created mail user | `language=en_US`
- `transport` | Transport program | `transport=dovecot`
- `minPasswordLength` | Minimal password length | `minPasswordLength=8`
- `maxPasswordLength` | Maximum password length | `minPasswordLength=20`
- `defaultQuota` | Default per-user mailbox quota for newly created user | `defaultQuota=1024`
- `maxUserQuota` | Max mailbox quota of a mail user | `maxUserQuota=2048`
- `numberOfUsers` | Max number of mail user accounts | `numberOfUsers=20`
- `numberOfAliases` | Max number of mail alias accounts | `numberOfAliases=30`
- `senderBcc` | Per-domain sender bcc address | `senderBcc=user@domain.com`
- `recipientBcc` | Per-domain recipient bcc address | `recipientBcc=user@domain.com`
- `is_backupmx` | Mark domain as Backup MX. Must be used with parameter `primarymx`. Conflicts with parameter `transport`. | `is_backupmx=yes` (or `no`)
- `primarymx` | Hostname or IP address of primary MX, smtp port number is optional. Must be used with parameter `is_backupmx`. Conflicts with parameter `transport`. | `primarymx=202.96.134.133`, `primarymx=[mail.iredmail.org]:25`
- `catchall` | Per-domain catch-all account (a list of email addresses used to receive emails sent to non-existing addresses under same domain). Multiple addresses must be separated by comma. Set an empty value to disable catch-all support. | `catchall=user@domain.com,user2@domain.com` or `catchall=` (disable catch-all)
- `outboundRelay` | Per-domain outbound relay. Set an empty value to disable outbound relay. | `outboundRelay=smtp:[192.168.1.2]:25` or `outboundRelay=` (disable outbound relay)
- `addAliasDomain` | Add new alias domains. Multiple services must be separated by comma. | `addAliasDomain=alias1.com,alias2.com`
- `removeAliasDomain` | Remove existing alias domains. Multiple services must be separated by comma. | `removeAllServices=alias1.com,alias2.com`
- `aliasDomains` | Reset all alias domains. If empty, all existing alias domains will be removed. Conflicts with parameter `addAliasDomain` and `removeAliasDomain`. | `aliasDomains=alias1.com,alias2.com`
- `addService` | Enable new services. Multiple services must be separated by comma. Available services are listed below. | `addService=self-service`
- `removeService` | Disable existing services. Multiple services must be separated by comma. Available services are listed below. | `removeService=self-service`
- `services` | Reset all services. If empty, all existing services will be removed. | `services=mail,self-service`
- `disableDomainProfile` | disable given domain profiles. Normal admin cannot view and update disabled profiles in domain profile page. Available domain profiles are listed below. | `disableDomainProfile=bcc,relay,aliases`
- `enableDomainProfile` | enable given domain profiles. Normal admin can view and update disabled profiles in domain profile page. Available domain profiles are listed below. | `enableDomainProfile=bcc,relay,aliases`
- `disableUserProfile` | disable given user profiles. Normal admin cannot view and update disabled profiles in user profile page. Available user profiles are listed below. | `disableUserProfile=bcc,relay,aliases`
- `enableUserProfile` | enable given domain profiles. Normal admin can view and update disabled profiles in user profile page. Available user profiles are listed below. | `enableUserProfile=bcc,relay,aliases`
- `disableUserPreference` | disable given user preferences in self-service page. Normal mail user cannot view and update disabled preferences. Available user preferences are listed below. | `disableUserPreference=forwarding,wblist`
- `enableUserPreference` | disable given user preferences in self-service page. Normal mail user can view and update disabled preferences. Available user preferences are listed below. | `enableUserProfile=forwarding,wblist`
-
- Available mail services:
-
- Profile | Comment
- --- |---
- self-service | Enable self-service for the mail domain.
- mail | All mail services. (__LDAP backends only__)
- domainalias | Alias domain support. (__LDAP backends only__)
- senderbcc | Per-domain sender bcc. (__LDAP backends only__)
- recipientbcc | Per-domain recipient bcc. (__LDAP backends only__)
-
- Available domain profiles:
-
- Profile | Comment
- --- |---
- bcc | Per-domain sender bcc and recipient bcc
- relay | Per-domain inbound relay and outbound relay
- catchall | Per-domain catchall account
- aliases | Alias domains
- throttle | Per-domain inbound and outbound throttling
- greylisting | Per-domain greylisting service
- wblist | Per-domain whitelists and blacklists
- spampolicy | Per-domain spam policy
- backupmx | Backup MX
- advanced | Some extra settings
-
- Available user profiles:
-
- Profile | Comment
- --- |---
- bcc | Per-user sender bcc and recipient bcc
- forwarding | Per-user mail forwarding addresses
- relay | Per-user inbound relay and outbound relay
- aliases | Per-user alias addresses
- throttle | Per-user inbound and outbound throttling
- greylisting | Per-user greylisting service
- wblist | Per-user whitelists and blacklists
- spampolicy | Per-user spam policy
-
- Available user preferences (self-service):
-
- Profile | Comment
- --- |---
- personal_info | Name, time zone, preferred language of web UI
- forwarding | Per-user mail forwarding addresses
- wblist | Per-user whitelists and blacklists
- quarantine | Manage quarantined mails
- rcvd_mails | View basic info of received mails, and whitelist/blacklist mail sender directly.
- spampolicy | Per-user spam policy
-
-
-
-!!! api "`PUT`{: .put } `/api/domain/admins/`{: .url } `Manage normal domain admins.`{: .comment } `Parameters`{: .has_params }"
-
-
-
- !!! attention
-
- Normal domain admin can only promote mail users under managed domains
- to be a domain admin.
-
- Parameter | Summary | Sample Usage
- --- |--- |---
- `addAdmin` | Add new domain admins. Multiple services must be separated by comma. | `addAdmin=one@domain.com,two@domain.com`
- `removeAdmin` | Remove existing domain admins. Multiple services must be separated by comma. | `removeAdmin=one@domain.com,two@domain.com`
- `removeAllAdmins` | Remove all existing domain admins. | `removeAllAdmins=` (empty value)
-
-
-
-### Domain Admin {: .toggle }
-
-!!! attention
-
- * This is standalone domain admin account, not mail user with admin privileges.
- * Only global admin can access these APIs.
-
-!!! api "`GET`{: .get } `/api/admin/`{: .url } `Get profile of an existing domain admin`{: .comment }"
-!!! api "`POST`{: .post } `/api/admin/`{: .url } `Create a new domain admin`{: .comment } `Parameters`{: .has_params }"
-
-
-
- Parameter | Summary | Sample Usage
- --- |--- |---
- `name` | Display name | `name=My Admin Name`
- `password` | Password| `password=AsTr0ng@`
- `accountStatus` | Enable or disable account. Possible values: `active`, `disabled`. | `accountStatus=active`
- `language` | Preferred language of iRedAdmin web UI | `language=en_US`
- `isGlobalAdmin` | Mark this admin as global admin | `isGlobalAdmin=yes`
-
- Below parameters are used by normal domain admin (`isGlobalAdmin=no`). With `isGlobalAdmin=yes`, these parameters will be discarded.
-
- Parameter | Summary | Sample Usage
- --- |--- |---
- `maxDomains` | how many mail domains this admin can create | `maxDomains=5`
- `maxQuota` | how much mailbox quota this admin can create. Quota is shared by all domains created/managed by this admin. Must be used with parameter `quotaUnit`. Sample: 10TB, 20GB, 100MB.| `maxQuota=2`
- `quotaUnit` | Quota unit used by `maxQuota` parameter. Must be used with parameter `maxQuota`. Possible values: TB, GB, MB. | `quotaUnit=TB`
- `maxUsers` | how many mail users this admin can create. It's shared by all domains created/managed by this admin. | `maxUsers=100`
- `maxAliases` | how many mail aliases this admin can create. It's shared by all domains created/managed by this admin. | `maxAliases=200`
- `maxLists` | how many mailing lists this admin can create. It's shared by all domains created/managed by this admin. | `maxLists=300`
- `disableViewingMailLog` | Disallow this admin to view log of inbound/outbound mails. | `disableViewingMailLog=yes` (or `no`)
- `disableManagingQuarantinedMails` | Disallow this admin to manage quarantined mails. | `disableManagingQuarantinedMails=yes` (or `no`)
-
-
-
-!!! api "`DELETE`{: .delete } `/api/admin/`{: .url } `Delete an existing domain admin`{: .comment }"
-!!! api "`PUT`{: .put } `/api/admin/`{: .url } `Update profile of an existing domain admin`{: .comment } `Parameters`{: .has_params }"
-
-
-
- Parameter | Summary | Sample Usage
- --- |--- |---
- `name` | Display name | `name=My Admin Name`
- `password` | Password| `password=AsTr0ng@`
- `accountStatus` | Enable or disable account. Possible values: `active`, `disabled`. | `accountStatus=active`
- `language` | Preferred language of iRedAdmin web UI | `language=en_US`
- `isGlobalAdmin` | Mark this admin as global admin | `isGlobalAdmin=yes`
-
- Below parameters are used by normal domain admin (`isGlobalAdmin=no`). With `isGlobalAdmin=yes`, these parameters will be discarded.
-
- Parameter | Summary | Sample Usage
- --- |--- |---
- `maxDomains` | how many mail domains this admin can create | `maxDomains=5`
- `maxQuota` | how much mailbox quota this admin can create. Quota is shared by all domains created/managed by this admin. Must be used with parameter `quotaUnit`. Sample: 10TB, 20GB, 100MB.| `maxQuota=2`
- `quotaUnit` | Quota unit used by `maxQuota` parameter. Must be used with parameter `maxQuota`. Possible values: TB, GB, MB. | `quotaUnit=TB`
- `maxUsers` | how many mail users this admin can create. It's shared by all domains created/managed by this admin. | `maxUsers=100`
- `maxAliases` | how many mail aliases this admin can create. It's shared by all domains created/managed by this admin. | `maxAliases=200`
- `maxLists` | how many mailing lists this admin can create. It's shared by all domains created/managed by this admin. | `maxLists=300`
- `disableViewingMailLog` | Disallow this admin to view log of inbound/outbound mails. | `disableViewingMailLog=yes` (or `no`)
- `disableManagingQuarantinedMails` | Disallow this admin to manage quarantined mails. | `disableManagingQuarantinedMails=yes` (or `no`)
-
-
-
-!!! api "`POST`{: .post } `/api/verify_password/admin/`{: .url } `Verify given (plain) password against the one stored in SQL/LDAP`{: .comment } `Parameters`{: .has_params} "
-
-
-
-### Mail User {: .toggle }
-
-!!! api "`GET`{: .get } `/api/user/`{: .url } `Get profile of an existing mail user`{: .comment }"
-!!! api "`POST`{: .post } `/api/user/`{: .url } `Create a new mail user`{: .comment } `Parameters`{: .has_params }"
-
-
-
- Parameter | Summary | Sample Usage
- --- |--- |---
- `name` | Display name | `name=My New Name`
- `password` | Plain password. __WARNING__: Conflict with parameter `password_hash`. | `password=AsTr0ng@`
- `password_hash` | Set user password to the given hashed/encrypted password. __NOTE__: Since the password is encrypted, iRedAdmin-Pro can not verify it against password policies. __WARNING__: Conflict with parameter `password`. | `password_hash={SSHA}APvI8DhU8Ktstdlye6yVDaypcrfqsUcXk0c7aQ==`
- `language` | Preferred language of iRedAdmin web UI | `language=en_US`
- `quota` | Mailbox quota (in MB) | `quota=1024`
- `mailboxFormat` | Mailbox format. e.g. `maildir`, `mdbox`. Defaults to `maildir` if not present. For more details, please read Dovecot document: . __WARNING__: Changing mailbox format does not migrate the mailbox on file system automatically, you have to migrate it manually. New email will be stored in new mailbox format immediately. | `mailboxFormat=mdbox`
- `mailboxFolder` | Mailbox folder name (case sensitive) which will be appended to user's home path. Defaults to `Maildir`. It's useful if you need to migrate to different mailbox folder. __WARNING__: New email will be stored in new mailbox folder immediately. | `mailboxFolder=Maildir`
- `maildir` | Absolute path of the mailbox. All characters will be converted to lower cases. | `maildir=/var/vmail/vmail1/example.com/username`
-
-
-
-!!! api "`DELETE`{: .delete } `/api/user/`{: .url } `Delete an existing mail user`{: .comment }"
-!!! api "`DELETE`{: .delete } `/api/user//keep_mailbox_days/`{: .url } `Delete an existing mail user, and keep the mailbox for given days. Defaults to 0 day which means keeping forever.`{: .comment }"
-!!! api "`PUT`{: .put } `/api/user/`{: .url } `Update profile of an existing mail user`{: .comment } `Parameters`{: .has_params} "
-
-
-
- Parameter | Summary | Sample Usage
- --- |--- |---
- `name` | Display name | `name=Michael Jordon`
- `gn` | Given name | `gn=Jordon`
- `sn` | Surname | `sn=Jeffery`
- `password` | Set user password to the given one. | `password=u0tBF82cIV@vi8Gme`
- `password_hash` | Set user password to the given hashed/encrypted password. __NOTE__: Since the password is encrypted, iRedAdmin-Pro can not verify it against password plicies. __WARNING__: Conflict with parameter `password`. | `password={SSHA}qjmhvlsofWDu/AvVhOJX1cU/CvYKLYlwlM5bHw==`
- `quota` | Mailbox quota (in MB) | `quota=1024`
- `accountStatus` | Enable or disable user. Possible values: `active`, `disabled`. | `accountStatus=active`
- `language` | Preferred language of iRedAdmin web UI | `language=en_US`
- `employeeid` | User ID (or Employee Number) | `employeeid=My Employee ID`
- `transport` | Transport program | `transport=dovecot`
- `isGlobalAdmin` | Promote user to be a global admin. Possible values: `yes`, `no` | `isGlobalAdmin=yes`
- `forwarding` | Per-user mail forwarding. Multiple addresses must be separated by comma. To save an email copy in mailbox, add original email address as one of forwarding addresses. | `forwarding=user1@domain.com,user2@domain.com,user3@domain.com`
- `senderBcc` | Per-user BCC for outbound emails. Only one email address is allowed. Parameter with empty value will remove existing sender bcc address. | `senderBcc=user1@domain.com` or `senderBcc=` (remove existing bcc address)
- `recipientBcc` | Per-user BCC for inbound emails. Only one email address is allowed. Parameter with empty value will remove existing recipient bcc address. | `recipientBcc=user1@domain.com` or `recipientBcc=` (remove existing bcc address)
- `aliases` | Per-user alias addresses. Multiple addresses must be separated by comma. If empty, all per-user alias addresses owned by this user will be removed. Conflicts with parameter `addAlias` and `removeAlias`. | `aliases=user1@domain.com,user2@domain.com,user3@domain.com`
- `addAlias` | Add new per-user alias addresses. Multiple addresses must be separated by comma. Conflicts with parameter `aliases`. | `addAlias=user1@domain.com,user2@domain.com,user3@domain.com`
- `removeAlias` | Remove existing per-user alias addresses. Multiple addresses must be separated by comma. Conflicts with parameter `aliases`. | `removeAlias=user1@domain.com,user2@domain.com,user3@domain.com`
- `services` | Reset per-user enabled mail services to given values. Conflicts with parameter `addService` and `removeService`. See additional notes below. | `services=mail,smtp,pop3,imap`
- `addService` | Add new per-user enabled mail service(s). Multiple values must be separated by comma. Conflicts with parameter `services`. See additional notes below. | `addService=vpn,owncloud`
- `removeService` | Add new per-user enabled mail service(s). Multiple values must be separated by comma. Conflicts with parameter `services`. See additional notes below. | `removeService=forward,senderbcc`
- `mailboxFormat` | Mailbox format. e.g. `maildir`, `mdbox`. Defaults to `maildir` if not present. For more details, please read Dovecot document: . __WARNING__: Changing mailbox format does not migrate the mailbox on file system automatically, you have to migrate it manually. New email will be stored in new mailbox format immediately. | `mailboxFormat=mdbox`
- `mailboxFolder` | Mailbox folder name (case sensitive) which will be appended to user's home path. Defaults to `Maildir`. It's useful if you need to migrate to different mailbox folder. __WARNING__: New email will be stored in new mailbox folder immediately. | `mailboxFolder=Maildir`
- `maildir` | Absolute path of the mailbox. All characters will be converted to lower cases. | `maildir=/var/vmail/vmail1/example.com/username`
-
- !!! attention
-
- Notes about `services`, `addService`, `removeService` parameters:
-
- * Available service names in iRedMail:
- * smtp
- * smtpsecured (SMTP over TLS or SSL)
- * smtptls (SMTP over TLS)
- * pop3
- * pop3secured (POP3 over TLS or SSL)
- * pop3tls (POP3 over TLS)
- * imap
- * imapsecured (IMAP over TLS or SSL)
- * imaptls (IMAP over TLS)
- * managesieve
- * managesievesecured (Managesieve over TLS or SSL)
- * managesievetls (Managesieve over TLS)
- * deliver (deliver received email to local mailbox)
- * sogo (SOGo groupware)
-
- * For LDAP backends, you're free to add custom service names, because
- the LDAP attribute name used to store service names supports storing
- multiple values and we don't need to change LDAP schema.
-
- * For SQL backends, column `enable` in SQL table
- `vmail.mailbox` must be present, if not, specified service name will
- be silently ignored.
-
-
-
-!!! api "`POST`{: .post } `/api/user//change_email/`{: .url } `Change user's email address (from '' to '')`{: .comment }"
-!!! api "`GET`{: .get } `/api/users/`{: .url } `Get user profiles under given domain`{: .comment } `Parameters`{: .has_params }"
-
-
-
- Parameter | Default Value | Comment | Sample Usage
- --- |--- |--- |---
- `email_only` | `no` | Return a list of mail users' email addresses instead of detailed profiles. | `email_only=yes`
- `disabled_only` | `no` | Return only disabled mail users. | `disabled_only=yes`
-
-
-
-!!! api "`PUT`{: .put } `/api/users/`{: .url } `Update profiles of all users under given domain`{: .comment } `Parameters`{: .has_params }"
-
-
-
- Parameter | Comment
- --- |---
- `accountStatus` | Account status. Possible value is: active, disabled.
- `password` | Password
- `language` | Preferred language of iRedAdmin web UI
- `transport` | Per-user transport
-
-
-
-!!! api "`POST`{: .post } `/api/verify_password/user/`{: .url } `Verify given (plain) password against the one stored in SQL/LDAP`{: .comment } `Parameters`{: .has_params} "
-
-
-
-### Subscribable Mailing List {: .toggle }
-
-!!! attention
-
- * Subscribable mailing list requires iRedMail-0.9.8 and later releases,
- it's implemented with [`mlmmj`](http://mlmmj.org) mailing list manager.
- * It's available for both SQL and LDAP backends.
-
-!!! api "`GET`{: .get } `/api/mls/`{: .url } `Get profile of all mailing lists under given domain`{: .comment } `Parameters`{: .has_params}"
-
-
-
- Parameter | Sample Usage | Default Value | Comment
- --- |--- |---|---
- `email_only` | `email_only=yes` | `no` | Return a list of mailing list email addresses instead of detailed profile.
-
-
-
-!!! api "`GET`{: .get } `/api/ml/`{: .url } `Get profile of an existing mailing list account`{: .comment } `Parameters`{: .has_params}"
-
-
-
- Parameter | Sample Usage | Default Value | Comment
- --- |--- |---|---
- `with_subscribers` | `with_subscribers=yes` | `no` | Get subscribers of mailing list.
-
-
-
-!!! api "`POST`{: .post } `/api/ml/`{: .url } `Create a new mailing list`{: .comment } `Parameters`{: .has_params }"
-
-
-
- Parameter | Sample Usage | Default Value | Comment
- --- |--- |---|---
- `name` | `name=Sales Team` | | Display name of the mailing list.
- `accountStatus` | `accountStatus=active` | | Enable or disable account. Possible values: `active`, `disabled`.
- `accessPolicy` | `accessPolicy=membersonly` | | Defines who can send email to this mailing list. Possible values: `public`, `domain`, `subdomain`, `membersonly`, `moderatorsonly`.
- `is_newsletter` | `is_newsletter=yes` | `no` | Mark this mailing list as a newsletter, to enable subscription/unsubscription from web site.
- `newsletter_description` | `newsletter_description=short description text` | | The short description text displayed on newsletter subscription page.
- `close_list` | `close_list=yes` | `no` | If set to `yes`, subscription and unsubscription via mail is disabled.
- `only_moderator_can_post` | `only_moderator_can_post=yes` | `no` | If set to `yes`, only moderators are allowed to post to it. The check is made against the `From:` header.
- `only_subscriber_can_post` | `only_subscriber_can_post=yes` | `yes` | If set to `yes`, only subscribed members are allowed to post to it. The check is made against the `From:` header.
- `disable_subscription` | `disable_subscription=yes` | `no` | If set to `yes`, subscription is disabled, but unsubscription is still possible.
- `disable_subscription_confirm` | `disable_subscription_confirm=yes` | | If set to `yes`, mlmmj won't send mail to subscriber to ask for confirmation to subscribe to the list. __WARNING__: This should in principle never ever be used, but there are times on local lists etc. where this is useful. HANDLE WITH CARE!
- `disable_digest_subscription` | `disable_digest_subscription=yes` | | If set to `yes`, subscription to the digest version of the mailing list is disabled. Useful if you don't want to allow digests and notify users about it.
- `disable_digest_text` | `disable_digest_text=yes` | | If set to `yes`, digest mails won't have a text part with a thread summary.
- `disable_nomail_subscription` | `disable_nomail_subscription=yes` | | If set to `yes`, subscription to the 'nomail' version of the mailing list is disabled. Useful if you don't want to allow 'nomail' and notify users about it.
- `moderated` | `moderated=yes` | `no` | If set to `yes`. Parameter `owner` __or__ `moderators` is required to specify the moderators. Note: `moderators` has higher priority (means only addresses specified by `moderators` are act as moderators).
- `moderate_non_subscriber_post` | `moderate_non_subscriber_post=no` | `no` | If set to `yes`, all postings from people who are not allowed to post to the list will be moderated. Default (set to `no`) is denied.
- `disable_retrieving_old_posts` | `disable_retrieving_old_posts=yes` | | If set to `yes`, retrieving old posts by sending email to address `+get-N@` is disabled.
- `only_subscriber_can_get_old_posts` | `only_subscriber_can_get_old_posts=no` | `yes` | If set to `yes`, only subscribers can retrieve old posts by sending email to `LISTNAME+get-N@`
- `disable_retrieving_subscribers` | `disable_retrieving_subscribers=yes` | `yes` | If set to `yes`, (owner) retrieving subscribers by sending email to `LISTNAME+list@` is disabled. Note: only owner can send to such address.
- `disable_send_copy_to_sender` | `disable_send_copy_to_sender=yes` | `yes` | If set to `yes`, senders won't receive copies of their own posts.
- `notify_owner_when_sub_unsub` | `notify_owner_when_sub_unsub=no` | `no` | Notify the owner(s) when someone sub/unsubscribing to a mailing list.
- `notify_sender_when_moderated` | `notify_sender_when_moderated=no` | `no` | Notify sender (based on the envelope from) when their post is being moderated.
- `disable_archive` | `disable_archive=yes` | `no` | If set to `yes`, emails won't be saved in the archive but simply deleted.
- `moderate_subscription` | `moderate_subscription=yes` | `no` | If set to `yes`, subscription will be moderated by owner(s) or moderators specified by `subscription_moderators`. Moderators specified by `subscription_moderators` has higher priority. If set to `no`, subscription is not moderated, also, all moderators which were specified by `subscription_moderators` will be removed.
- `extra_addresses` | `extra_addresses=extra1@domain.com,extra2@domain.com` | | Define extra addresses of the mailing list.
- `subscription_moderators` | `subscription_moderators=,,` | | Specify subscription moderators. Note: if `subscription_moderators` is given, `moderate_subscription` will be set to `yes` automatically. If no valid moderators are given, subscription will be moderated by owner(s).
- `owner` | `owner=,,` | | Define owner(s) of the mailing list. Owners will get mails sent to `+owner@`.
- `moderators` | `moderators=,` | | Specify moderators of the mailing list. Set to empty value will remove all existing moderators.
- `max_message_size` | `max_message_size=10240` | | Specify max mail message size in __bytes__.
- `subject_prefix` | `subject_prefix=[prefix text]` | | Add a prefix in the `Subject:` line of mails sent to the list. Set to empty value to remove it.
- `custom_headers` | `custom_headers=:\n:` | | Add custom headers to every mail coming through. Multiple headers must be separated by `\n`. Set empty value to remove it. Note: mlmmjadmin will always add `X-Mailing-List: ` and `Reply-To: ` for each mailing list account.
- `remove_headers` | `remove_headers=Message-ID,Received` | | Remove given mail headers. NOTE: either `header:` or `header` (without `:`) is ok. Note: mlmmjadmin will always remove `DKIM-Signature:` and `Authentication-Results:`.
- `name` | `name=Short description of list` | | Set a short description of the mailing list account.
- `footer_text` | `footer_text=footer in plain text` | | Append footer (in plain text format) to every email sent to the list.
- `footer_html` | `footer_text=
footer in html
` | | Append footer (in html format) to every email sent to the list.
-
- Parameters used to add subscribers:
-
- Parameter | Sample Usage | Default Value | Comment
- --- |--- |---|---
- `subscribers` | `subscribers=,,,...` | | Subscribe users to mailing list. Multiple subscribers must be separated by comma.
- `require_confirm` | `require_confirm=no` | `yes` | Send email to subscribers and let subscribers confirm the subscription.
- `subscription` | `subscription=normal` | `normal` | Subscribe to different subscription. Valid values are: `normal`, `digest`, `nomail`.
-
-
-
- Parameter | Summary | Sample Usage
- --- |--- |---
- `keep_archive` | Archive account settings and messages before deleting the mailing list. | `keep_archive=no`
-
-
-
-!!! api "`PUT`{: .put } `/api/ml/`{: .url } `Update profile of an existing mailing list`{: .comment } `Parameters`{: .has_params }"
-
-
-
- Parameter | Sample Usage | Default Value | Comment
- --- |--- |---|---
- `name` | `name=Sales Team` | | Display name of the mailing list.
- `accountStatus` | `accountStatus=active` | | Enable or disable account. Possible values: `active`, `disabled`.
- `accessPolicy` | `accessPolicy=membersonly` | | Defines who can send email to this mailing list. Possible values: `public`, `domain`, `subdomain`, `membersonly`, `moderatorsonly`.
- `is_newsletter` | `is_newsletter=yes` | `no` | Mark this mailing list as a newsletter, to enable subscription/unsubscription from web site.
- `newsletter_description` | `newsletter_description=short description text` | | The short description text displayed on newsletter subscription page.
- `close_list` | `close_list=yes` | `no` | If set to `yes`, subscription and unsubscription via mail is disabled.
- `only_moderator_can_post` | `only_moderator_can_post=yes` | `no` | If set to `yes`, only moderators are allowed to post to it. The check is made against the `From:` header.
- `only_subscriber_can_post` | `only_subscriber_can_post=yes` | `yes` | If set to `yes`, only subscribed members are allowed to post to it. The check is made against the `From:` header.
- `disable_subscription` | `disable_subscription=yes` | `no` | If set to `yes`, subscription is disabled, but unsubscription is still possible.
- `disable_subscription_confirm` | `disable_subscription_confirm=yes` | | If set to `yes`, mlmmj won't send mail to subscriber to ask for confirmation to subscribe to the list. __WARNING__: This should in principle never ever be used, but there are times on local lists etc. where this is useful. HANDLE WITH CARE!
- `disable_digest_subscription` | `disable_digest_subscription=yes` | | If set to `yes`, subscription to the digest version of the mailing list is disabled. Useful if you don't want to allow digests and notify users about it.
- `disable_digest_text` | `disable_digest_text=yes` | | If set to `yes`, digest mails won't have a text part with a thread summary.
- `disable_nomail_subscription` | `disable_nomail_subscription=yes` | | If set to `yes`, subscription to the 'nomail' version of the mailing list is disabled. Useful if you don't want to allow 'nomail' and notify users about it.
- `moderated` | `moderated=yes` | `no` | If set to `yes`. Parameter `owner` __or__ `moderators` is required to specify the moderators. Note: `moderators` has higher priority (means only addresses specified by `moderators` are act as moderators).
- `moderate_non_subscriber_post` | `moderate_non_subscriber_post=no` | `no` | If set to `yes`, all postings from people who are not allowed to post to the list will be moderated. Default (set to `no`) is denied.
- `disable_retrieving_old_posts` | `disable_retrieving_old_posts=yes` | | If set to `yes`, retrieving old posts by sending email to address `+get-N@` is disabled.
- `only_subscriber_can_get_old_posts` | `only_subscriber_can_get_old_posts=no` | `yes` | If set to `yes`, only subscribers can retrieve old posts by sending email to `LISTNAME+get-N@`
- `disable_retrieving_subscribers` | `disable_retrieving_subscribers=yes` | `yes` | If set to `yes`, (owner) retrieving subscribers by sending email to `LISTNAME+list@` is disabled. Note: only owner can send to such address.
- `disable_send_copy_to_sender` | `disable_send_copy_to_sender=yes` | `yes` | If set to `yes`, senders won't receive copies of their own posts.
- `notify_owner_when_sub_unsub` | `notify_owner_when_sub_unsub=no` | `no` | Notify the owner(s) when someone sub/unsubscribing to a mailing list.
- `notify_sender_when_moderated` | `notify_sender_when_moderated=no` | `no` | Notify sender (based on the envelope from) when their post is being moderated.
- `disable_archive` | `disable_archive=yes` | `no` | If set to `yes`, emails won't be saved in the archive but simply deleted.
- `moderate_subscription` | `moderate_subscription=yes` | `no` | If set to `yes`, subscription will be moderated by owner(s) or moderators specified by `subscription_moderators`. Moderators specified by `subscription_moderators` has higher priority. If set to `no`, subscription is not moderated, also, all moderators which were specified by `subscription_moderators` will be removed.
- `extra_addresses` | `extra_addresses=extra1@domain.com,extra2@domain.com` | | Define extra addresses of the mailing list.
- `subscription_moderators` | `subscription_moderators=,,` | | Specify subscription moderators. Note: if `subscription_moderators` is given, `moderate_subscription` will be set to `yes` automatically. If no valid moderators are given, subscription will be moderated by owner(s).
- `owner` | `owner=,,` | | Define owner(s) of the mailing list. Owners will get mails sent to `+owner@`.
- `moderators` | `moderators=,` | | Specify moderators of the mailing list. Set to empty value will remove all existing moderators.
- `max_message_size` | `max_message_size=10240` | | Specify max mail message size in __bytes__.
- `subject_prefix` | `subject_prefix=[prefix text]` | | Add a prefix in the `Subject:` line of mails sent to the list. Set to empty value to remove it.
- `custom_headers` | `custom_headers=:\n:` | | Add custom headers to every mail coming through. Multiple headers must be separated by `\n`. Set empty value to remove it. Note: mlmmjadmin will always add `X-Mailing-List: ` and `Reply-To: ` for each mailing list account.
- `remove_headers` | `remove_headers=Message-ID,Received` | | Remove given mail headers. NOTE: either `header:` or `header` (without `:`) is ok. Note: mlmmjadmin will always remove `DKIM-Signature:` and `Authentication-Results:`.
- `name` | `name=Short description of list` | | Set a short description of the mailing list account.
- `footer_text` | `footer_text=footer in plain text` | | Append footer (in plain text format) to every email sent to the list.
- `footer_html` | `footer_text=
footer in html
` | | Append footer (in html format) to every email sent to the list.
-
- Parameters used to add subscribers:
-
- Parameter | Sample Usage | Default Value | Comment
- --- |--- |---|---
- `add_subscribers` | `add_subscribers=,,,...` | | Subscribe users to mailing list. Multiple subscribers must be separated by comma.
- `require_confirm` | `require_confirm=no` | `yes` | Send email to subscribers and let subscribers confirm the subscription.
- `subscription` | `subscription=normal` | `normal` | Subscribe to different subscription. Valid values are: `normal`, `digest`, `nomail`.
-
- Parameters used to remove subscribers:
-
- Parameter | Sample Usage | Default Value | Comment
- --- |--- |---|---
- `remove_subscribers` | `remove_subscribers=,,,...` | | Remove existing subscribers from mailing list. Multiple subscribers must be separated by comma.
-
-
-
-### Mailing List (Unsubscribable) {: .toggle }
-
-!!! attention
-
- * This unsubscribable mailing list is only available in __LDAP__ backend.
- * It's recommended to use the Subscribable Mailing List instead, you're
- free to disable public subscribable.
-
-!!! api "`GET`{: .get } `/api/maillist/`{: .url } `Get profile of an existing mailing list account`{: .comment }"
-!!! api "`POST`{: .post } `/api/maillist/`{: .url } `Create a new mailing list`{: .comment } `Parameters`{: .has_params }"
-
-
- Parameter | Summary | Sample Usage
- --- |--- |---
- `name` | Display name | `name=My List Name`
- `accessPolicy` | Defines who can send email to this mail alias account | `accessPolicy=public`
- `members` | Members of mailing list. Multiple members must be separated by comma. | `members=user1@domain.com,user2@domain.com`
-
-
-
- Parameter | Summary | Sample Usage
- --- |--- |---
- `archive` | Archive subscribable mailing list before deleting the account. NOTE: This option is only applicable to the subscribable mailing list account. | `archive=no`
-
-
-
-!!! api "`PUT`{: .put } `/api/maillist/`{: .url } `Update profile of an existing mailing list`{: .comment } `Parameters`{: .has_params }"
-
-
-
- Parameter | Summary | Sample Usage
- --- |--- |---
- `name` | display name | `name=My List Name`
- `accessPolicy` | Defines who can send email to this mailing list | `accessPolicy=public`
- `members` | Members of mailing list. Multiple members must be separated by comma. Conflict with parameter `addMember` and `removeMember`. | `members=user1@domain.com,user2@domain.com`
- `addMember` | Add new members of mailing list. Multiple members must be separated by comma. Conflict with parameter `members`. | `addMember=user1@domain.com,user2@domain.com`
- `removeMember` | Remove existing members of mailing list. Multiple members must be separated by comma. Conflict with parameter `members`. | `removeMember=user1@domain.com,user2@domain.com`
-
-
-
-### Mail Alias {: .toggle }
-
-!!! api "`GET`{: .get } `/api/alias/`{: .url } `Get profile of an existing mail alias`{: .comment }"
-!!! api "`POST`{: .post } `/api/alias/`{: .url } `Create a new mail alias`{: .comment } `Parameters`{: .has_params}"
-
-
-
- Parameter | Summary | Sample Usage
- --- |--- |---
- `name` | Display name | `name=My List Name`
- `accessPolicy` | Defines who can send email to this mail alias account | `accessPolicy=public`
- `members` | Members of mail alias. Multiple members must be separated by comma. | `members=user1@domain.com,user2@domain.com`
-
- !!! attention
-
- `accessPolicy` for mail alias account is only available for SQL backends.
-
-
-
-!!! api "`DELETE`{: .delete } `/api/alias/`{: .url } `Delete an existing mail alias`{: .comment }"
-!!! api "`PUT`{: .put } `/api/alias/`{: .url } `Update profile of an existing mail alias`{: .comment } `Parameters`{: .has_params }"
-
-
-
- !!! attention
-
- `accessPolicy` for mail alias account is only available for SQL backends.
-
- Parameter | Summary | Sample Usage
- --- |--- |---
- `name` | Display name | `name=My List Name`
- `accountStatus` | Enable or disable domain. Valid values: `active`, `disabled`. | `accountStatus=active`
- `accessPolicy` | Defines who can send email to this mail alias account | `accessPolicy=public`
- `members` | Members of mail alias. Multiple members must be separated by comma. Conflict with parameter `addMember` and `removeMember`. | `members=user1@domain.com,user2@domain.com`
- `addMember` | Add new members of mail alias. Multiple members must be separated by comma. Conflict with parameter `members`. | `addMember=user1@domain.com,user2@domain.com`
- `removeMember` | Remove existing members of mail alias. Multiple members must be separated by comma. Conflict with parameter `members`. | `removeMember=user1@domain.com,user2@domain.com`
-
-
-
-!!! api "`POST`{: .put } `/api/alias//change_email/`{: .url } `Change email address of alias account (from '' to '')`{: .comment }"
-
-!!! api "`GET`{: .get } `/api/aliases/`{: .url } `Get mail aliases' profiles under given domain`{: .comment } `Parameters`{: .has_params }"
-
-
-
- Parameter | Default Value | Comment | Sample Usage
- --- |--- |--- |---
- `email_only` | `no` | Return a list of mail aliases' email addresses instead of detailed profiles. | `email_only=yes`
- `disabled_only` | `no` | Return only disabled mail aliases. | `disabled_only=yes`
-
-
-
- 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 | 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.)
-
-
-
- Parameters available for global, per-domain, per-user throttle settings.
-
- Parameter | Summary | Sample Usage
- --- |--- |---
- `period` * | Period of time, in seconds | `period=3600` (one hour)
- `msg_size` | Max size of single email, in bytes | `msg_size=10485760` (10 MB)
- `max_msgs` | Number of max inbound emails | `max_msgs=20` (up to 20 messages)
- `max_quota` | Cumulative size of inbound or outbound emails, in bytes | `max_quota=1048576000` (1 GB)
-
-
-
-### Whitelisting and Blacklisting {: .toggle }
-
-Valid whitelisting and blacklisting addresses. __Invalid addresses will be discarded silently.__
-
-Address | Examples
---- |---
-Single IP Address | `192.168.2.10`
-IP CIDR Network | `192.168.2.0/24`, `2620:0:2d0:200::7/128`
-Single email address | `user@domain.ltd`
-Entire email domain | `@domain.ltd`
-Entire email domain and all its sub-domains | `@.domain.ltd`
-Catch-all address | `@.`
-
-
-
-!!! api "`GET`{: .get } `/api/wblist/inbound/whitelist/global`{: .url } `Get global whitelists for inbound.`{: .comment }"
-!!! api "`GET`{: .get } `/api/wblist/inbound/blacklist/global`{: .url } `Get global blacklists for inbound.`{: .comment }"
-!!! api "`GET`{: .get } `/api/wblist/outbound/whitelist/global`{: .url } `Get global whitelists for outbound.`{: .comment }"
-!!! api "`GET`{: .get } `/api/wblist/outbound/blacklist/global`{: .url } `Get global whitelists for outbound.`{: .comment }"
-!!! api "`GET`{: .get } `/api/wblist/inbound/whitelist/`{: .url } `Get per-domain whitelists for inbound.`{: .comment }"
-!!! api "`GET`{: .get } `/api/wblist/inbound/blacklist/`{: .url } `Get per-domain blacklists for inbound.`{: .comment }"
-!!! api "`GET`{: .get } `/api/wblist/outbound/whitelist/`{: .url } `Get per-domain whitelists for outbound.`{: .comment }"
-!!! api "`GET`{: .get } `/api/wblist/outbound/blacklist/`{: .url } `Get per-domain whitelists for outbound.`{: .comment }"
-!!! api "`GET`{: .get } `/api/wblist/inbound/whitelist/`{: .url } `Get per-user whitelists for inbound.`{: .comment }"
-!!! api "`GET`{: .get } `/api/wblist/inbound/blacklist/`{: .url } `Get per-user blacklists for inbound.`{: .comment }"
-!!! api "`GET`{: .get } `/api/wblist/outbound/whitelist/`{: .url } `Get per-user whitelists for outbound.`{: .comment }"
-!!! api "`GET`{: .get } `/api/wblist/outbound/blacklist/`{: .url } `Get per-user whitelists for outbound.`{: .comment }"
-
-!!! api "`POST`{: .post } `/api/wblist/inbound/whitelist/global`{: .url } `Add new global whitelists for inbound.`{: .comment } `Parameters`{: .has_params_wblist }"
-!!! api "`POST`{: .post } `/api/wblist/inbound/blacklist/global`{: .url } `Add new global blacklists for inbound.`{: .comment } `Parameters`{: .has_params_wblist }"
-!!! api "`POST`{: .post } `/api/wblist/outbound/whitelist/global`{: .url } `Add new global whitelists for outbound.`{: .comment } `Parameters`{: .has_params_wblist }"
-!!! api "`POST`{: .post } `/api/wblist/outbound/blacklist/global`{: .url } `Add new global whitelists for outbound.`{: .comment } `Parameters`{: .has_params_wblist }"
-!!! api "`POST`{: .post } `/api/wblist/inbound/whitelist/`{: .url } `Add new per-domain whitelists for inbound.`{: .comment } `Parameters`{: .has_params_wblist }"
-!!! api "`POST`{: .post } `/api/wblist/inbound/blacklist/`{: .url } `Add new per-domain blacklists for inbound.`{: .comment } `Parameters`{: .has_params_wblist }"
-!!! api "`POST`{: .post } `/api/wblist/outbound/whitelist/`{: .url } `Add new per-domain whitelists for outbound.`{: .comment } `Parameters`{: .has_params_wblist }"
-!!! api "`POST`{: .post } `/api/wblist/outbound/blacklist/`{: .url } `Add new per-domain whitelists for outbound.`{: .comment } `Parameters`{: .has_params_wblist }"
-!!! api "`POST`{: .post } `/api/wblist/inbound/whitelist/`{: .url } `Add new per-user whitelists for inbound.`{: .comment } `Parameters`{: .has_params_wblist }"
-!!! api "`POST`{: .post } `/api/wblist/inbound/blacklist/`{: .url } `Add new per-user blacklists for inbound.`{: .comment } `Parameters`{: .has_params_wblist }"
-!!! api "`POST`{: .post } `/api/wblist/outbound/whitelist/`{: .url } `Add new per-user whitelists for outbound.`{: .comment } `Parameters`{: .has_params_wblist }"
-!!! api "`POST`{: .post } `/api/wblist/outbound/blacklist/`{: .url } `Add new per-user whitelists for outbound.`{: .comment } `Parameters`{: .has_params_wblist }"
-
-
-
- Parameters available for global, per-domain and per-user whitelist/blacklist settings.
-
- Parameter | Summary | Sample Usage
- --- |--- |---
- `addresses` | The addresses you want to whitelist or blacklist. Multiple addresses must be separated by comma. | `addresses=user1@domain.com,192.168.1.10`
-
-
-
-!!! api "`PUT`{: .put } `/api/wblist/inbound/whitelist/global`{: .url } `Delete given global whitelists for inbound.`{: .comment } `Parameters`{: .has_params_wblist }"
-!!! api "`PUT`{: .put } `/api/wblist/inbound/blacklist/global`{: .url } `Delete given existing global blacklists for inbound.`{: .comment } `Parameters`{: .has_params_wblist }"
-!!! api "`PUT`{: .put } `/api/wblist/outbound/whitelist/global`{: .url } `Delete given existing global whitelists for outbound.`{: .comment } `Parameters`{: .has_params_wblist }"
-!!! api "`PUT`{: .put } `/api/wblist/outbound/blacklist/global`{: .url } `Delete given existing global whitelists for outbound.`{: .comment } `Parameters`{: .has_params_wblist }"
-!!! api "`PUT`{: .put } `/api/wblist/inbound/whitelist/`{: .url } `Delete given per-domain whitelists for inbound.`{: .comment } `Parameters`{: .has_params_wblist }"
-!!! api "`PUT`{: .put } `/api/wblist/inbound/blacklist/`{: .url } `Delete given per-domain blacklists for inbound.`{: .comment } `Parameters`{: .has_params_wblist }"
-!!! api "`PUT`{: .put } `/api/wblist/outbound/whitelist/`{: .url } `Delete given per-domain whitelists for outbound.`{: .comment } `Parameters`{: .has_params_wblist }"
-!!! api "`PUT`{: .put } `/api/wblist/outbound/blacklist/`{: .url } `Delete given per-domain whitelists for outbound.`{: .comment } `Parameters`{: .has_params_wblist }"
-!!! api "`PUT`{: .put } `/api/wblist/inbound/whitelist/`{: .url } `Delete given per-user whitelists for inbound.`{: .comment } `Parameters`{: .has_params_wblist }"
-!!! api "`PUT`{: .put } `/api/wblist/inbound/blacklist/`{: .url } `Delete given per-user blacklists for inbound.`{: .comment } `Parameters`{: .has_params_wblist }"
-!!! api "`PUT`{: .put } `/api/wblist/outbound/whitelist/`{: .url } `Delete given per-user whitelists for outbound.`{: .comment } `Parameters`{: .has_params_wblist }"
-!!! api "`PUT`{: .put } `/api/wblist/outbound/blacklist/`{: .url } `Delete given per-user whitelists for outbound.`{: .comment } `Parameters`{: .has_params_wblist }"
-
-!!! api "`DELETE`{: .delete } `/api/wblist/inbound/whitelist/global`{: .url } `Delete all existing global whitelists for inbound.`{: .comment }"
-!!! api "`DELETE`{: .delete } `/api/wblist/inbound/blacklist/global`{: .url } `Delete all existing global blacklists for inbound.`{: .comment }"
-!!! api "`DELETE`{: .delete } `/api/wblist/outbound/whitelist/global`{: .url } `Delete all existing global whitelists for outbound.`{: .comment }"
-!!! api "`DELETE`{: .delete } `/api/wblist/outbound/blacklist/global`{: .url } `Delete all existing global whitelists for outbound.`{: .comment }"
-!!! api "`DELETE`{: .delete } `/api/wblist/inbound/whitelist/`{: .url } `Delete all per-domain global whitelists for inbound.`{: .comment }"
-!!! api "`DELETE`{: .delete } `/api/wblist/inbound/blacklist/`{: .url } `Delete all per-domain global blacklists for inbound.`{: .comment }"
-!!! api "`DELETE`{: .delete } `/api/wblist/outbound/whitelist/`{: .url } `Delete all per-domain existing global whitelists for outbound.`{: .comment }"
-!!! api "`DELETE`{: .delete } `/api/wblist/outbound/blacklist/`{: .url } `Delete all per-domain existing global whitelists for outbound.`{: .comment }"
-!!! api "`DELETE`{: .delete } `/api/wblist/inbound/whitelist/`{: .url } `Delete all per-user existing global whitelists for inbound.`{: .comment }"
-!!! api "`DELETE`{: .delete } `/api/wblist/inbound/blacklist/`{: .url } `Delete all per-user existing global blacklists for inbound.`{: .comment }"
-!!! api "`DELETE`{: .delete } `/api/wblist/outbound/whitelist/`{: .url } `Delete all per-user existing global whitelists for outbound.`{: .comment }"
-!!! api "`DELETE`{: .delete } `/api/wblist/outbound/blacklist/`{: .url } `Delete all per-user existing global whitelists for outbound.`{: .comment }"
-
-
-### Greylisting {: .toggle }
-
-!!! api "`GET`{: .get } `/api/greylisting/all`{: .url } `Get all existing greylisting settings`{: .comment }"
-!!! api "`GET`{: .get } `/api/greylisting/global`{: .url } `Get global greylisting setting`{: .comment }"
-!!! api "`GET`{: .get } `/api/greylisting/`{: .url } `Get per-domain greylisting setting`{: .comment }"
-!!! api "`GET`{: .get } `/api/greylisting/`{: .url } `Get per-user greylisting setting`{: .comment }"
-!!! api "`POST`{: .post } `/api/greylisting/global`{: .url } `Set global greylisting setting`{: .comment } `Parameters`{: .has_params_greylisting }"
-!!! api "`POST`{: .post } `/api/greylisting/`{: .url } `Set per-domain greylisting setting`{: .comment } `Parameters`{: .has_params_greylisting }"
-!!! api "`POST`{: .post } `/api/greylisting/`{: .url } `Set per-user greylisting setting`{: .comment } `Parameters`{: .has_params_greylisting }"
-
-
-
- Parameters available for global, per-domain and per-user greylisting settings.
-
- Parameter | Summary | Sample Usage
- --- |--- |---
- `status` | Explicitly enable or disable greylisting service. | `status=enable` (or `disable`)
-
-
-
-!!! api "`DELETE`{: .delete } `/api/greylisting/global`{: .url } `Delete global greylisting setting`{: .comment }"
-!!! api "`DELETE`{: .delete } `/api/greylisting/`{: .url } `Delete per-domain greylisting setting`{: .comment }"
-!!! api "`DELETE`{: .delete } `/api/greylisting/`{: .url } `Delete per-user greylisting setting`{: .comment }"
-!!! api "`GET`{: .get } `/api/greylisting/global/whitelists`{: .url } `Get globally whitelisted senders for greylisting service`{: .comment }"
-!!! api "`GET`{: .get } `/api/greylisting//whitelists`{: .url } `Get whitelisted senders for greylisting service for specified domain`{: .comment }"
-!!! api "`GET`{: .get } `/api/greylisting//whitelists`{: .url } `Get whitelisted senders for greylisting service for specified user`{: .comment }"
-!!! api "`POST`{: .post } `/api/greylisting/global/whitelists`{: .url } `Whitelist senders for greylisting service globally`{: .comment } `Parameters`{: .has_params_greylisting_whitelists }"
-!!! api "`POST`{: .post } `/api/greylisting//whitelists`{: .url } `Whitelist senders for greylisting service for specified domain`{: .comment } `Parameters`{: .has_params_greylisting_whitelists }"
-!!! api "`POST`{: .post } `/api/greylisting//whitelists`{: .url } `Whitelist senders for greylisting services for specified user`{: .comment } `Parameters`{: .has_params_greylisting_whitelists }"
-
-
-
- Parameter | Summary | Sample Usage
- --- |--- |---
- `senders` | Reset whitelisted senders for global greylisting service to given senders. Multiple addresses must be separated by comma. Conflicts with parameter `addSenders` and `removeSenders`. | `senders=192.168.1.0/24,172.16.10.1,@example.com`
- `addSenders` | Whitelist new senders for greylisting service globally. Multiple addresses must be separated by comma. Conflicts with parameter `senders`. | `addSenders=192.168.1.0/24,@example.com`
- `removeSenders` | Remove existing whitelisted senders for greylisting service globally. Multiple addresses must be separated by comma. Conflicts with parameter `senders`. | `removeSenders=192.168.1.0/24,@example.com`
-
- Valid sender address formats:
-
- Sender Address | Comment
- ---|---
- `192.168.2.10` | Single IP address
- `192.168.1.0/24` | CIDR network
- `user@example.com` | Single email address
- `@example.com` | Entire domain
- `@.example.com` | Entire domain and all its sub-domains
-
-
-
-!!! api "`POST`{: .post } `/api/greylisting/whitelist_spf_domains`{: .url } `Whitelist IP addresses and networks listed in SPF/MX DNS record of given sender domains for greylisting service globally`{: .comment } `Parameters`{: .has_params }"
-
-
-
- Given sender domain names are not used directly while checking whitelisting, instead, there's a cron job to query SPF and MX DNS records of given sender domains, then whitelist the IP addresses/networks listed in DNS records.
-
- Multiple domains must be separated by comma.
-
- Parameter | Summary | Sample Usage
- --- |--- |---
- `domains` | Reset whitelisted sender domains for global greylisting service to given sender domains. Conflicts with parameters `addDomains` and `removeDomains`. | `domains=iredmail.org,gmail.com`
- `addDomains` | Add new whitelist sender domains for global greylisting service. Conflicts with parameter `domains`. | `addDomains=iredmail.org,gmail.com`
- `removeDomains` | Remove existing whitelisted sender domains for global greylisting service. Conflicts with parameter `domains`. | `removeDomains=iredmail.org,gmail.com`
-
-
-
-
-
-### Export Accounts {: .toggle }
-
-#### LDIF (LDAP backend only) {: .toggle }
-
-!!! api "`GET`{: .get } `/api/ldif/domain/`{: .url } `Export domain to LDIF`{: .comment }"
-!!! api "`GET`{: .get } `/api/ldif/catchall/`{: .url } `Export per-domain catch-all account to LDIF`{: .comment }"
-!!! api "`GET`{: .get } `/api/ldif/admin/`{: .url } `Export (separated) domain admin to LDIF`{: .comment }"
-!!! api "`GET`{: .get } `/api/ldif/user/`{: .url } `Export mail user to LDIF`{: .comment }"
-!!! api "`GET`{: .get } `/api/ldif/maillist/`{: .url } `Export mailing list account to LDIF`{: .comment }"
-!!! api "`GET`{: .get } `/api/ldif/alias/`{: .url } `Export mail alias account to LDIF`{: .comment }"
-
-
-
-
-
-
-
diff --git a/en_US/iredadmin/2-iredadmin-pro.restful.api.md b/en_US/iredadmin/2-iredadmin-pro.restful.api.md
index 11c8bd2d..f50f0df1 100644
--- a/en_US/iredadmin/2-iredadmin-pro.restful.api.md
+++ b/en_US/iredadmin/2-iredadmin-pro.restful.api.md
@@ -4,8 +4,8 @@
!!! attention
- * This document is applicable to `iRedAdmin-Pro-SQL-3.5` and
- `iRedAdmin-Pro-LDAP-3.7`. If you're running an old release, please
+ * This document is applicable to `iRedAdmin-Pro-SQL-3.6` and
+ `iRedAdmin-Pro-LDAP-3.8`. If you're running an old release, please
upgrade iRedAdmin-Pro to the latest release, or check
[document for old releases](./iredadmin-pro.releases.html).
* If you need an API which has not yet been implemented, don't hesitate to
@@ -415,7 +415,7 @@ Notes:
-### [NEW] Subscribable Mailing List {: .toggle }
+### Subscribable Mailing List {: .toggle }
!!! attention
@@ -719,6 +719,94 @@ Notes:
+### Whitelisting and Blacklisting {: .toggle }
+
+Valid whitelisting and blacklisting addresses. __Invalid addresses will be discarded silently.__
+
+Address | Examples
+--- |---
+Single IP Address | `192.168.2.10`
+IP CIDR Network | `192.168.2.0/24`, `2620:0:2d0:200::7/128`
+Single email address | `user@domain.ltd`
+Entire email domain | `@domain.ltd`
+Entire email domain and all its sub-domains | `@.domain.ltd`
+Catch-all address | `@.`
+
+
+
+!!! api "`GET`{: .get } `/api/wblist/inbound/whitelist/global`{: .url } `Get global whitelists for inbound.`{: .comment }"
+!!! api "`GET`{: .get } `/api/wblist/inbound/blacklist/global`{: .url } `Get global blacklists for inbound.`{: .comment }"
+!!! api "`GET`{: .get } `/api/wblist/outbound/whitelist/global`{: .url } `Get global whitelists for outbound.`{: .comment }"
+!!! api "`GET`{: .get } `/api/wblist/outbound/blacklist/global`{: .url } `Get global whitelists for outbound.`{: .comment }"
+!!! api "`GET`{: .get } `/api/wblist/inbound/whitelist/`{: .url } `Get per-domain whitelists for inbound.`{: .comment }"
+!!! api "`GET`{: .get } `/api/wblist/inbound/blacklist/`{: .url } `Get per-domain blacklists for inbound.`{: .comment }"
+!!! api "`GET`{: .get } `/api/wblist/outbound/whitelist/`{: .url } `Get per-domain whitelists for outbound.`{: .comment }"
+!!! api "`GET`{: .get } `/api/wblist/outbound/blacklist/`{: .url } `Get per-domain whitelists for outbound.`{: .comment }"
+!!! api "`GET`{: .get } `/api/wblist/inbound/whitelist/`{: .url } `Get per-user whitelists for inbound.`{: .comment }"
+!!! api "`GET`{: .get } `/api/wblist/inbound/blacklist/`{: .url } `Get per-user blacklists for inbound.`{: .comment }"
+!!! api "`GET`{: .get } `/api/wblist/outbound/whitelist/`{: .url } `Get per-user whitelists for outbound.`{: .comment }"
+!!! api "`GET`{: .get } `/api/wblist/outbound/blacklist/`{: .url } `Get per-user whitelists for outbound.`{: .comment }"
+
+!!! api "`POST`{: .post } `/api/wblist/inbound/whitelist/global`{: .url } `Add new global whitelists for inbound.`{: .comment } `Parameters`{: .has_params_wblist_put }"
+!!! api "`POST`{: .post } `/api/wblist/inbound/blacklist/global`{: .url } `Add new global blacklists for inbound.`{: .comment } `Parameters`{: .has_params_wblist_put }"
+!!! api "`POST`{: .post } `/api/wblist/outbound/whitelist/global`{: .url } `Add new global whitelists for outbound.`{: .comment } `Parameters`{: .has_params_wblist_put }"
+!!! api "`POST`{: .post } `/api/wblist/outbound/blacklist/global`{: .url } `Add new global whitelists for outbound.`{: .comment } `Parameters`{: .has_params_wblist_put }"
+!!! api "`POST`{: .post } `/api/wblist/inbound/whitelist/`{: .url } `Add new per-domain whitelists for inbound.`{: .comment } `Parameters`{: .has_params_wblist_put }"
+!!! api "`POST`{: .post } `/api/wblist/inbound/blacklist/`{: .url } `Add new per-domain blacklists for inbound.`{: .comment } `Parameters`{: .has_params_wblist_put }"
+!!! api "`POST`{: .post } `/api/wblist/outbound/whitelist/`{: .url } `Add new per-domain whitelists for outbound.`{: .comment } `Parameters`{: .has_params_wblist_put }"
+!!! api "`POST`{: .post } `/api/wblist/outbound/blacklist/`{: .url } `Add new per-domain whitelists for outbound.`{: .comment } `Parameters`{: .has_params_wblist_put }"
+!!! api "`POST`{: .post } `/api/wblist/inbound/whitelist/`{: .url } `Add new per-user whitelists for inbound.`{: .comment } `Parameters`{: .has_params_wblist_put }"
+!!! api "`POST`{: .post } `/api/wblist/inbound/blacklist/`{: .url } `Add new per-user blacklists for inbound.`{: .comment } `Parameters`{: .has_params_wblist_put }"
+!!! api "`POST`{: .post } `/api/wblist/outbound/whitelist/`{: .url } `Add new per-user whitelists for outbound.`{: .comment } `Parameters`{: .has_params_wblist_put }"
+!!! api "`POST`{: .post } `/api/wblist/outbound/blacklist/`{: .url } `Add new per-user whitelists for outbound.`{: .comment } `Parameters`{: .has_params_wblist_put }"
+
+
+
+ Parameters available for global, per-domain and per-user whitelist/blacklist settings.
+
+ Parameter | Summary | Sample Usage
+ --- |--- |---
+ `addresses` | The addresses you want to whitelist or blacklist. Multiple addresses must be separated by comma. | `addresses=user1@domain.com,192.168.1.10`
+
+
+
+!!! api "`PUT`{: .put } `/api/wblist/inbound/whitelist/global`{: .url } `Delete given global whitelists for inbound.`{: .comment } `Parameters`{: .has_params_wblist }"
+!!! api "`PUT`{: .put } `/api/wblist/inbound/blacklist/global`{: .url } `Delete given existing global blacklists for inbound.`{: .comment } `Parameters`{: .has_params_wblist }"
+!!! api "`PUT`{: .put } `/api/wblist/outbound/whitelist/global`{: .url } `Delete given existing global whitelists for outbound.`{: .comment } `Parameters`{: .has_params_wblist }"
+!!! api "`PUT`{: .put } `/api/wblist/outbound/blacklist/global`{: .url } `Delete given existing global whitelists for outbound.`{: .comment } `Parameters`{: .has_params_wblist }"
+!!! api "`PUT`{: .put } `/api/wblist/inbound/whitelist/`{: .url } `Delete given per-domain whitelists for inbound.`{: .comment } `Parameters`{: .has_params_wblist }"
+!!! api "`PUT`{: .put } `/api/wblist/inbound/blacklist/`{: .url } `Delete given per-domain blacklists for inbound.`{: .comment } `Parameters`{: .has_params_wblist }"
+!!! api "`PUT`{: .put } `/api/wblist/outbound/whitelist/`{: .url } `Delete given per-domain whitelists for outbound.`{: .comment } `Parameters`{: .has_params_wblist }"
+!!! api "`PUT`{: .put } `/api/wblist/outbound/blacklist/`{: .url } `Delete given per-domain whitelists for outbound.`{: .comment } `Parameters`{: .has_params_wblist }"
+!!! api "`PUT`{: .put } `/api/wblist/inbound/whitelist/`{: .url } `Delete given per-user whitelists for inbound.`{: .comment } `Parameters`{: .has_params_wblist }"
+!!! api "`PUT`{: .put } `/api/wblist/inbound/blacklist/`{: .url } `Delete given per-user blacklists for inbound.`{: .comment } `Parameters`{: .has_params_wblist }"
+!!! api "`PUT`{: .put } `/api/wblist/outbound/whitelist/`{: .url } `Delete given per-user whitelists for outbound.`{: .comment } `Parameters`{: .has_params_wblist }"
+!!! api "`PUT`{: .put } `/api/wblist/outbound/blacklist/`{: .url } `Delete given per-user whitelists for outbound.`{: .comment } `Parameters`{: .has_params_wblist }"
+
+
+
+ Parameters available for global, per-domain and per-user whitelist/blacklist settings.
+
+ Parameter | Summary | Sample Usage
+ --- |--- |---
+ `addresses` | The addresses you want to whitelist or blacklist. Multiple addresses must be separated by comma. | `addresses=user1@domain.com,192.168.1.10`
+
+
+
+!!! api "`DELETE`{: .delete } `/api/wblist/inbound/whitelist/global`{: .url } `Delete all existing global whitelists for inbound.`{: .comment }"
+!!! api "`DELETE`{: .delete } `/api/wblist/inbound/blacklist/global`{: .url } `Delete all existing global blacklists for inbound.`{: .comment }"
+!!! api "`DELETE`{: .delete } `/api/wblist/outbound/whitelist/global`{: .url } `Delete all existing global whitelists for outbound.`{: .comment }"
+!!! api "`DELETE`{: .delete } `/api/wblist/outbound/blacklist/global`{: .url } `Delete all existing global whitelists for outbound.`{: .comment }"
+!!! api "`DELETE`{: .delete } `/api/wblist/inbound/whitelist/`{: .url } `Delete all per-domain global whitelists for inbound.`{: .comment }"
+!!! api "`DELETE`{: .delete } `/api/wblist/inbound/blacklist/`{: .url } `Delete all per-domain global blacklists for inbound.`{: .comment }"
+!!! api "`DELETE`{: .delete } `/api/wblist/outbound/whitelist/`{: .url } `Delete all per-domain existing global whitelists for outbound.`{: .comment }"
+!!! api "`DELETE`{: .delete } `/api/wblist/outbound/blacklist/`{: .url } `Delete all per-domain existing global whitelists for outbound.`{: .comment }"
+!!! api "`DELETE`{: .delete } `/api/wblist/inbound/whitelist/`{: .url } `Delete all per-user existing global whitelists for inbound.`{: .comment }"
+!!! api "`DELETE`{: .delete } `/api/wblist/inbound/blacklist/`{: .url } `Delete all per-user existing global blacklists for inbound.`{: .comment }"
+!!! api "`DELETE`{: .delete } `/api/wblist/outbound/whitelist/`{: .url } `Delete all per-user existing global whitelists for outbound.`{: .comment }"
+!!! api "`DELETE`{: .delete } `/api/wblist/outbound/blacklist/`{: .url } `Delete all per-user existing global whitelists for outbound.`{: .comment }"
+
+
### Greylisting {: .toggle }
!!! api "`GET`{: .get } `/api/greylisting/all`{: .url } `Get all existing greylisting settings`{: .comment }"
@@ -828,5 +916,6 @@ $(document).ready(function(){
$('.has_params_greylisting').bind('click', function(){$('.params_greylisting').toggle();});
$('.has_params_greylisting_whitelists').bind('click', function(){$('.params_greylisting_whitelists').toggle();});
$('.has_params_spampolicy').bind('click', function(){$('.params_spampolicy').toggle();});
+ $('.has_params_wblist').bind('click', function(){$('.params_wblist').toggle();});
});
diff --git a/en_US/upgrade/2-iredadmin-pro.releases.md b/en_US/upgrade/2-iredadmin-pro.releases.md
index 9c630be4..375632f6 100644
--- a/en_US/upgrade/2-iredadmin-pro.releases.md
+++ b/en_US/upgrade/2-iredadmin-pro.releases.md
@@ -15,7 +15,8 @@ this tutorial with just one shell command:
Version | Release Date | Comment | Extra
---|---|---|---
-[3.7](https://forum.iredmail.org/topic15718.html) | Jun 06, 2019 | | [RESTful API document](./iredadmin-pro.restful.api.html)
+[3.8](https://forum.iredmail.org/topic.html) | Jul 15, 2019 | | [RESTful API document](./iredadmin-pro.restful.api.html)
+[3.7](https://forum.iredmail.org/topic15718.html) | Jun 06, 2019 | | [RESTful API document](./iredadmin-pro.restful.api-20190715.html)
[3.6](https://forum.iredmail.org/topic15583.html) | Apr 28, 2019 | | [RESTful API document](./iredadmin-pro.restful.api-20190606.html)
[3.5](https://forum.iredmail.org/topic15472.html) | Mar 27, 2019 | | [RESTful API document](./iredadmin-pro.restful.api-20190428.html)
[3.4](https://forum.iredmail.org/topic15327.html) | Feb 19, 2019 | | [RESTful API document](./iredadmin-pro.restful.api-20190327.html)
@@ -56,7 +57,8 @@ Version | Release Date | Comment | Extra
Version | Release Date | Comment | RESTful API Document
---|---|---|---
-[3.5](https://forum.iredmail.org/topic15719.html) | Jun 6, 2019 | | [RESTful API document](./iredadmin-pro.restful.api.html)
+[3.6](https://forum.iredmail.org/topic.html) | Jul 15, 2019 | | [RESTful API document](./iredadmin-pro.restful.api.html)
+[3.5](https://forum.iredmail.org/topic15719.html) | Jun 6, 2019 | | [RESTful API document](./iredadmin-pro.restful.api-20190715.html)
[3.4](https://forum.iredmail.org/topic15582.html) | Apr 28, 2019 | | [RESTful API document](./iredadmin-pro.restful.api-20190606.html)
[3.3](https://forum.iredmail.org/topic15471.html) | Mar 27, 2019 | | [RESTful API document](./iredadmin-pro.restful.api-20190428.html)
[3.2](https://forum.iredmail.org/topic15328.html) | Feb 19, 2019 | | [RESTful API document](./iredadmin-pro.restful.api-20190327.html)
diff --git a/html/iredadmin-pro.releases.html b/html/iredadmin-pro.releases.html
index 2137f3d4..670e543f 100644
--- a/html/iredadmin-pro.releases.html
+++ b/html/iredadmin-pro.releases.html
@@ -48,10 +48,16 @@ this tutorial with just one shell command:
This document is applicable to iRedAdmin-Pro-SQL-3.6 and
- iRedAdmin-Pro-LDAP-3.8. If you're running an old release, please
+
This document is applicable to iRedAdmin-Pro-SQL-3.5 and
+ iRedAdmin-Pro-LDAP-3.7. If you're running an old release, please
upgrade iRedAdmin-Pro to the latest release, or check
document for old releases.
If you need an API which has not yet been implemented, don't hesitate to
@@ -1166,7 +1165,7 @@ to be a domain admin.
-
Subscribable Mailing List
+
[NEW] Subscribable Mailing List
Attention
@@ -2190,208 +2189,6 @@ to be a domain admin.
-
-
Whitelisting and Blacklisting
-
Valid whitelisting and blacklisting addresses. Invalid addresses will be discarded silently.
-
-
-
-
Address
-
Examples
-
-
-
-
-
Single IP Address
-
192.168.2.10
-
-
-
IP CIDR Network
-
192.168.2.0/24, 2620:0:2d0:200::7/128
-
-
-
Single email address
-
user@domain.ltd
-
-
-
Entire email domain
-
@domain.ltd
-
-
-
Entire email domain and all its sub-domains
-
@.domain.ltd
-
-
-
Catch-all address
-
@.
-
-
-
-
-
-
GET/api/wblist/inbound/whitelist/globalGet global whitelists for inbound.
-
-
-
GET/api/wblist/inbound/blacklist/globalGet global blacklists for inbound.
-
-
-
GET/api/wblist/outbound/whitelist/globalGet global whitelists for outbound.
-
-
-
GET/api/wblist/outbound/blacklist/globalGet global whitelists for outbound.
-
-
-
GET/api/wblist/inbound/whitelist/<domain>Get per-domain whitelists for inbound.
-
-
-
GET/api/wblist/inbound/blacklist/<domain>Get per-domain blacklists for inbound.
-
-
-
GET/api/wblist/outbound/whitelist/<domain>Get per-domain whitelists for outbound.
-
-
-
GET/api/wblist/outbound/blacklist/<domain>Get per-domain whitelists for outbound.
-
-
-
GET/api/wblist/inbound/whitelist/<mail>Get per-user whitelists for inbound.
-
-
-
GET/api/wblist/inbound/blacklist/<mail>Get per-user blacklists for inbound.
-
-
-
GET/api/wblist/outbound/whitelist/<mail>Get per-user whitelists for outbound.
-
-
-
GET/api/wblist/outbound/blacklist/<mail>Get per-user whitelists for outbound.
-
-
-
POST/api/wblist/inbound/whitelist/globalAdd new global whitelists for inbound.Parameters
-
-
-
POST/api/wblist/inbound/blacklist/globalAdd new global blacklists for inbound.Parameters
-
-
-
POST/api/wblist/outbound/whitelist/globalAdd new global whitelists for outbound.Parameters
-
-
-
POST/api/wblist/outbound/blacklist/globalAdd new global whitelists for outbound.Parameters
-
-
-
POST/api/wblist/inbound/whitelist/<domain>Add new per-domain whitelists for inbound.Parameters
-
-
-
POST/api/wblist/inbound/blacklist/<domain>Add new per-domain blacklists for inbound.Parameters
-
-
-
POST/api/wblist/outbound/whitelist/<domain>Add new per-domain whitelists for outbound.Parameters
-
-
-
POST/api/wblist/outbound/blacklist/<domain>Add new per-domain whitelists for outbound.Parameters
-
-
-
POST/api/wblist/inbound/whitelist/<mail>Add new per-user whitelists for inbound.Parameters
-
-
-
POST/api/wblist/inbound/blacklist/<mail>Add new per-user blacklists for inbound.Parameters
-
-
-
POST/api/wblist/outbound/whitelist/<mail>Add new per-user whitelists for outbound.Parameters
-
-
-
POST/api/wblist/outbound/blacklist/<mail>Add new per-user whitelists for outbound.Parameters
-
-
-
Parameters available for global, per-domain and per-user whitelist/blacklist settings.
-
-
-
-
Parameter
-
Summary
-
Sample Usage
-
-
-
-
-
addresses
-
The addresses you want to whitelist or blacklist. Multiple addresses must be separated by comma.
-
addresses=user1@domain.com,192.168.1.10
-
-
-
-
-
-
-
-
PUT/api/wblist/inbound/whitelist/globalDelete given global whitelists for inbound.Parameters
-
-
-
PUT/api/wblist/inbound/blacklist/globalDelete given existing global blacklists for inbound.Parameters
-
-
-
PUT/api/wblist/outbound/whitelist/globalDelete given existing global whitelists for outbound.Parameters
-
-
-
PUT/api/wblist/outbound/blacklist/globalDelete given existing global whitelists for outbound.Parameters
-
-
-
PUT/api/wblist/inbound/whitelist/<domain>Delete given per-domain whitelists for inbound.Parameters
-
-
-
PUT/api/wblist/inbound/blacklist/<domain>Delete given per-domain blacklists for inbound.Parameters
-
-
-
PUT/api/wblist/outbound/whitelist/<domain>Delete given per-domain whitelists for outbound.Parameters
-
-
-
PUT/api/wblist/outbound/blacklist/<domain>Delete given per-domain whitelists for outbound.Parameters
-
-
-
PUT/api/wblist/inbound/whitelist/<mail>Delete given per-user whitelists for inbound.Parameters
-
-
-
PUT/api/wblist/inbound/blacklist/<mail>Delete given per-user blacklists for inbound.Parameters
-
-
-
PUT/api/wblist/outbound/whitelist/<mail>Delete given per-user whitelists for outbound.Parameters
-
-
-
PUT/api/wblist/outbound/blacklist/<mail>Delete given per-user whitelists for outbound.Parameters
-
-
-
DELETE/api/wblist/inbound/whitelist/globalDelete all existing global whitelists for inbound.
-
-
-
DELETE/api/wblist/inbound/blacklist/globalDelete all existing global blacklists for inbound.
-
-
-
DELETE/api/wblist/outbound/whitelist/globalDelete all existing global whitelists for outbound.
-
-
-
DELETE/api/wblist/outbound/blacklist/globalDelete all existing global whitelists for outbound.
-
-
-
DELETE/api/wblist/inbound/whitelist/<domain>Delete all per-domain global whitelists for inbound.
-
-
-
DELETE/api/wblist/inbound/blacklist/<domain>Delete all per-domain global blacklists for inbound.
-
-
-
DELETE/api/wblist/outbound/whitelist/<domain>Delete all per-domain existing global whitelists for outbound.
-
-
-
DELETE/api/wblist/outbound/blacklist/<domain>Delete all per-domain existing global whitelists for outbound.
-
-
-
DELETE/api/wblist/inbound/whitelist/<mail>Delete all per-user existing global whitelists for inbound.
-
-
-
DELETE/api/wblist/inbound/blacklist/<mail>Delete all per-user existing global blacklists for inbound.
-
-
-
DELETE/api/wblist/outbound/whitelist/<mail>Delete all per-user existing global whitelists for outbound.
-
-
-
DELETE/api/wblist/outbound/blacklist/<mail>Delete all per-user existing global whitelists for outbound.