Mailu command line

Managing users and aliases can be done from CLI using commands:

  • alias

  • alias-delete

  • domain

  • password

  • user

  • user-import

  • user-delete

  • config-update

alias

docker-compose exec admin flask mailu alias foo example.net "mail1@example.com,mail2@example.com"

alias-delete

docker-compose exec admin flask mailu alias-delete foo@example.net

domain

docker-compose exec admin flask mailu domain example.net

password

docker-compose exec admin flask mailu password myuser example.net 'password123'

user

docker-compose exec admin flask mailu user myuser example.net 'password123'

user-import

primary difference with simple user command is that password is being imported as a hash - very useful when migrating users from other systems where only hash is known.

docker-compose run --rm admin flask mailu user-import myuser example.net '$6$51ebe0cb9f1dab48effa2a0ad8660cb489b445936b9ffd812a0b8f46bca66dd549fea530ce' 'SHA512-CRYPT'

user-delete

docker-compose exec admin flask mailu user-delete foo@example.net

config-update

The sole purpose of this command is for importing users/aliases in bulk and synchronizing DB entries with external YAML template:

cat mail-config.yml | docker-compose exec -T admin flask mailu config-update --delete-objects

where mail-config.yml looks like:

users:
  - localpart: foo
    domain: example.com
    password_hash: klkjhumnzxcjkajahsdqweqqwr
    hash_scheme: MD5-CRYPT

aliases:
  - localpart: alias1
    domain: example.com
    destination: "user1@example.com,user2@example.com"

without --delete-object option config-update will only add/update new values but will not remove any entries missing in provided YAML input.

Users

following are additional parameters that could be defined for users:

  • comment

  • quota_bytes

  • global_admin

  • enable_imap

  • enable_pop

  • forward_enabled

  • forward_destination

  • reply_enabled

  • reply_subject

  • reply_body

  • displayed_name

  • spam_enabled

  • spam_threshold

Alias

additional fields:

  • wildcard