It Lives!!
The current version only supports the MySQL version of iRedMail
By default iredmail-cli
expects a config file under ~/.my.cnf-vmailadmin
. This file is generated through the iRedMail installation. It's also possible to specify a config file with the —config
flag.
The .my.cnf-vmailadmin
file needs following variables:
[client]
host=127.0.0.1 (optional, default 127.0.0.1)
port=3306 (optional, default 3306)
user=vmailadmin
password="UXXjQYn3KLbAJhonbkmNyGNJRsoXZ4rn"
Mailbox
What is called user
in iRedMail is a mailbox
in the iredmail-cli terminology. I don't know if this is a good idea, but for me user feels wrong.
iRedMail:
info@example.com = user
iredmail-cli:
info@example.com = mailbox
See mailbox
Mailbox-alias
A mailbox can have additional email addresses:
All emails sent to the addresses post@example.com
and hello@example.com
will be delivered to the same mailbox info@example.com
.
Emails can now also be sent with post@example.com
and hello@example.com
as sender.
See mailbox add-alias [ALIAS] [MAILBOX_EMAIL]
Forwarding
Mails can be forwarded from a mailbox:
All emails sent to the mailbox info@example.com
will also be delivered to the addresses tech@company.com
and support@example.net
.
See forwarding
Alias
If no mailbox is required, an alias can be used to forward emails to other addresses:
Multiple destination addresses are possible.
To print the help of a command or sub command append the —help
or -h
flag.
Add/delete/list mailboxes and mailbox-aliases.
Add a new mailbox.
Example:
$ iredmail-cli mailbox add info@example.com swekjhlwekjdhw
Flags:
-q, --quota: Set custom quota in MB, default 2048
-s, --storage-path: Set custom storage path
Delete a mailbox.
Example:
$ iredmail-cli mailbox delete info@example.com
Flags:
-f, --force: Force deletion
Show mailbox info.
Example:
$ iredmail-cli mailbox info info@example.com
+----------------------+---------------------------------------------+
| MAILBOX | info@example.com |
+----------------------+---------------------------------------------+
| Quota | 2048 MB |
| Maildir | example.com/i/n/f/info-2018.07.09.09.13.27/ |
+----------------------+---------------------------------------------+
List mailboxes.
Example:
$ iredmail-cli mailbox list
+-----------------------+------------+
| MAILBOX | QUOTA (MB) |
+-----------------------+------------+
| info@domain.com | 2048 |
| info@example.com | 2048 |
| mail@example.net | 2048 |
| support@example.com | 2048 |
+-----------------------+------------+
# To filter results use the --filter flag
$ iredmail-cli mailbox list -f example.com
+-----------------------+------------+
| MAILBOX | QUOTA (MB) |
+-----------------------+------------+
| info@example.com | 2048 |
| support@example.com | 2048 |
+-----------------------+------------+
Flags:
-f, --filter: Filter results
Update keep-copy and quota.
keep-copy: If mailboxes with forwardings should not keep a copy of the forwarded email use "--keep-copy no".
This is only possible if at least one forwarding for [MAILBOX_EMAIL] exists.
By default copies are kept in the mailbox.
quota: The quota of the mailbox could be set with this flag, e.g. "--quota 4096" (in MB).
Example:
$ iredmail-cli mailbox update info@example.com -k no
$ iredmail-cli mailbox update info@example.com -q 4098
Flags:
-k, --keep-copy: enable or disable keep-copy
-q, --quota: Set custom quota in MB
Add a mailbox alias.
A mailbox info@example.com
can have additional email addresses like abuse@example.com
, webmaster@example.com
and more, all emails sent to these addresses will be delivered to the same mailbox (info@example.com
). Emails can now also be sent with those addresses as sender.
Example:
$ iredmail-cli mailbox add-alias abuse info@example.com
$ iredmail-cli mailbox add-alias webmaster info@example.com
$ iredmail-cli mailbox info info@example.com
+----------------------+---------------------------------------------+
| MAILBOX | info@example.com |
+----------------------+---------------------------------------------+
| Quota | 2048 MB |
| Mailbox aliases | abuse |
| | webmaster |
| Maildir | example.com/i/n/f/info-2018.07.09.09.13.27/ |
+----------------------+---------------------------------------------+
Delete an alias.
Example:
$ iredmail-cli mailbox delete-alias abuse@example.com
Add/delete/list forwardings.
Add forwarding.
Example:
$ iredmail-cli forwarding add info@example.com post@otherdomain.com
$ iredmail-cli forwarding add info@example.com tech@company.com
$ iredmail-cli mailbox info info@example.com
+----------------------+---------------------------------------------+
| MAILBOX | info@example.com |
+----------------------+---------------------------------------------+
| Quota | 2048 MB |
| Mailbox aliases | abuse |
| | webmaster |
| Forwardings | tech@company.com |
| | post@otherdomain.com |
| Keep copy in mailbox | yes |
| Maildir | example.com/i/n/f/info-2018.07.09.09.13.27/ |
+----------------------+---------------------------------------------+
By default a copy will be left in the mailbox, to change that behavior use the iredmail-cli mailbox update
command.
Delete forwarding.
Example:
$ iredmail-cli forwarding delete info@example.com tech@company.com
List forwardings.
Example:
$ iredmail-cli forwarding list
+------------------+----------------------------+----------------------+
| MAILBOX EMAIL | DESTINATION EMAIL | KEEP COPY IN MAILBOX |
+------------------+----------------------------+----------------------+
| info@example.com | tech@company.com | yes |
| | post@otherdomain.com | |
| mail@example.net | mail@domain.com | no |
+------------------+----------------------------+----------------------+
Flags:
-f, --filter: Filter results
Add/delete/list domains, domain aliases and catchall forwardings.
Add a domain.
Example:
$ iredmail-cli domain add somedomain.com
Flags:
-d, --description: Domain description
-s, --settings: Domain settings (default: default_user_quota:2048)
Delete a domain.
Example:
$ iredmail-cli domain delete somedomain.com
Flags:
-f, --force: Force deletion
List domains.
Example:
$ iredmail-cli domain list
+-------------+-----------+-------------------+-------------+
| DOMAIN | ALIAS | CATCH-ALL ADDRESS | DESCRIPTION |
+-------------+-----------+-------------------+-------------+
| domain.com | | | |
| example.com | | | |
+-------------+-----------+-------------------+-------------+
Flags:
-f, --filter: Filter results
Add an alias domain.
Emails sent to user@[ALIAS_DOMAIN] will be delivered to user@[DOMAIN].
Example:
$ iredmail-cli domain add-alias domain.net domain.com
$ iredmail-cli domain list
+-------------+------------+-------------------+-------------+
| DOMAIN | ALIAS | CATCH-ALL ADDRESS | DESCRIPTION |
+-------------+------------+-------------------+-------------+
| domain.com | domain.net | | |
| example.com | | | |
+-------------+------------+-------------------+-------------+
Delete an alias domain.
Example:
$ iredmail-cli domain delete-alias [ALIAS_DOMAIN]
Add a per-domain catch-all forwarding.
Emails sent to non-existing mailboxes of [DOMAIN] will be delivered to [DESTINATION_EMAIL].
Multiple [DESTINATION_EMAIL]s are possible.
Example:
$ iredmail-cli domain add-catchall example.com info@example.com
$ iredmail-cli domain add-catchall example.com post@otherdomain.com
$ iredmail-cli domain list
+-------------+------------+----------------------+-------------+
| DOMAIN | ALIAS | CATCH-ALL ADDRESS | DESCRIPTION |
+-------------+------------+----------------------+-------------+
| domain.com | domain.net | | |
| example.com | | info@example.com | |
| | | post@otherdomain.com | |
+-------------+------------+----------------------+-------------+
Delete a per-domain catch-all forwarding.
Example:
$ iredmail-cli domain delete-catchall example.com post@otherdomain.com
Add/delete/list aliases and their forwardings.
Add an alias.
Emails sent to [ALIAS_EMAIL] will be delivered to alias forwardings.
Use the "alias add-forwarding" command to add forwardings to the alias.
An alias can have multiple forwardings.
Example:
$ iredmail-cli alias add tech@example.com
Delete an alias.
Example:
$ iredmail-cli alias delete tech@example.com
Flags:
-f, --force: Force deletion
Show alias info.
Example:
$ iredmail-cli alias info tech@example.com
+--------------------+---------------------------+
| ALIAS | FORWARDINGS |
+--------------------+---------------------------+
| tech@example.com | info@example.com |
| | chris@example.com |
| | pete@domain.com |
+--------------------+---------------------------+
List aliases.
Example:
$ iredmail-cli alias list
+-----------------------+---------------------------+
| ALIAS | FORWARDINGS |
+-----------------------+---------------------------+
| tech@example.com | |
| help@example.net | |
+-----------------------+---------------------------+
Flags:
-f, --filter: Filter results
Add forwarding to an alias.
Emails sent to [ALIAS_EMAIL] will be delivered to [DESTINATION_EMAIL].
An alias can have multiple forwardings.
Example:
$ iredmail-cli alias add tech@example.com info@exmaple.com
$ iredmail-cli alias add tech@example.com pete@domain.com
+-----------------------+---------------------------+
| ALIAS | FORWARDINGS |
+-----------------------+---------------------------+
| tech@example.com | info@exmaple.com |
| | pete@domain.com |
+-----------------------+---------------------------+
Delete forwarding from an alias.
Example:
$ iredmail-cli alias delete tech@example.com pete@domain.com
Show iredMail and iredmail-cli version.
Example:
$ iredmail-cli version
cli version: 0.2.5
iredMail version (MySQL): 0.9.8