DBMAIL-USERS(8)

πŸ“¦ version 3.5.6, in arch rolling

πŸ’… DBMAIL-USERS(8) β€” the dbmail-users glow-up

okay so bestie, welcome to dbmail-users, the manual page for the dbmail-users program itself. It's the one that manages the DBMail user database, and honestly? it's kind of the main character of user admin. Let's get into it. ✨


🌸 SYNOPSIS

dbmail-users [MODE] [MODE OPTIONS]

dbmail-users --add-user user [options]
dbmail-users --change-user user [options]
dbmail-users --delete-user user
dbmail-users --empty-user-mailboxes user [options]

dbmail-users --list-users
dbmail-users --list-user user

dbmail-users --change-user user --password password --pw-type pwtype

dbmail-users --change-user user --add-alias address
dbmail-users --change-user user --delete-alias address

dbmail-users --forward address --add-forward address
dbmail-users --forward address --delete-forward address

πŸ¦‹ DESCRIPTION

So dbmail-users is literally your whole user-management situation. It lets you add, delete and change users, plus show info about a specific user or dump out a list of everyone who exists. And as if that wasn't enough, it can also add/remove separate aliases. Slay. πŸ’…


πŸ‘‘ MODE

  • -a, --add-user user β€” add a user. new bestie acquired 🫢
  • -c, --change-user user β€” change details for a user. the makeover mode πŸ’–
  • -d, --delete-user user β€” delete a user. gone, but not forgotten 😭
  • -e, --empty-user-mailboxes user β€” empty all mailboxes for a user. inbox cleanse, fr fr 🧹
  • -L, --list-users β€” list information for all users. the whole roster ✨
  • -l, --list-user userspec β€” list information for matching users. just the ones you're looking for πŸ”
  • -x, --forward alias β€” create an external forwarding address. bye, mail, have fun at your new place πŸ¦‹

πŸŽ€ MODE OPTIONS

  • --enable β€” enable authentication for user
  • --disable β€” disable authentication for user
  • -w, --password β€” specify user's password right there on the command line.
Heads up bestie: use with --change-user.
  • -W, --pw-file file β€” read from a file, or prompt for a user's password. use with --add-user and --change-user
  • -p, --pw-type type β€” password type, and it may be one of the following: plaintext, crypt, md5-hash, md5-digest, crypt-raw, md5-hash-raw, md5-digest-raw, md5-base64, md5-base64-raw, whirlpool, sha512, sha256, sha1, tiger. use with --add-user and --change-user πŸ”
  • -P, --pw-shadow file β€” pull the encrypted password from the shadow file. use with --add-user and --change-user
  • -u, --user user β€” new username. use with --change-user to change the username β€” rebranding era πŸ’«
  • -g, --client cid β€” assign the user to a client. use with --add-user and --change-user
  • -m, --max-quota max β€” set the maximum mail quota in <bytes>B, <kbytes>K, or <mbytes>M, default in bytes. if set to 0, there will be no limit. no cap, literally πŸ”₯ use with --add-user and --change-user
  • -s, --add-alias alias[,alias...] β€” adds a list of recipient aliases. an alias is an e-mail address that is being delivered to the DBMail mailsystem and should be delivered to this user. use with --add-user and --change-user
  • -S, --delete-alias alias[,alias...] β€” removes a list of recipient aliases. use wildcards ? and * to match any single character and any number of characters, respectively. use with --add-user and --change-user
  • -t, --add-forward forward[,forward...] β€” adds a list of deliver-to forwards. use with --forward
  • -T, --delete-forward forward[,forward...] β€” removes a list of deliver-to forwards. use wildcards ? and * to match any single character and any number of characters, respectively. use with --forward
  • --security-password β€” specify a separate security fall-back password
  • --security-action β€” select the security action value (default 0)

🌈 COMMON OPTIONS

  • -f, --config configfile β€” specify an alternate config file. use dbmail-<utility> --help to show the default location.
  • -q, --quiet β€” quietly skip interactive prompts and helpful status messages which would otherwise be printed to stdout. use two -q's to silence errors which would otherwise be printed to stderr. 🀫
  • -v, --verbose β€” operate verbosely. some of the utilities in the DBMail suite can take two -v's for extra verbosity. those which don't understand this convention won't complain about having the extra -v and will simply operate at their normal verbosity. no drama, iconic behavior honestly
  • -V, --version β€” show the version and copyright, then exit.
  • -h, --help β€” show a brief summary of options, then exit.

🌸 ALIASES AND FORWARDS

okay so what even are aliases and forwards, and what's the difference? bestie, I got you:

users are known to the outside world by their email address, and to avoid confusion DBMail uses aliases for incoming email addresses and forwards for outgoing addresses where a user has moved to another organisation and their email is forwarded on to their new address.

  • DBMail users receive email using one or more alias addresses. πŸ’Œ
  • When a user moves to another organisation or domain, they can have their email forwarded onwards. ➑️

πŸŽ€ ALIASES

When creating a new user account, you should add an initial alias that delivers to the account name, or make the account in the form of a fully qualified email address. for example, the user named Baz created like this:

dbmail-users --add-user baz --pw-type crypt --password secret

After creating the account you add an alias:

dbmail-users --change-user baz --add-alias baz@example.com

You may add multiple aliases by repeatedly calling dbmail-users, or by calling it with a comma-separated list of aliases:

dbmail-users --change-user baz --add-alias baz@example.com,baz@example.org

Three catch-all modes are also supported β€” for domains, sub-domains, and local parts:

dbmail-users --add-user baz --add-aliass @example.com

dbmail-users --add-user baz --add-alias @.allsubs.example.com

dbmail-users --add-user baz --add-alias baz@

The first example catches email addressed to any user @example.com and delivers it to Baz's INBOX. The second example catch email address to any user at any subdomain below .allsubs.example.com (not including allsubs.example.com itself!) The third example catches email addressed to baz@ at any domain.

Real talk: there is no support for delivering to a particular mailbox other than INBOX via the aliases system. Please use a Sieve script to sort mail like this. that's just how it is πŸ™ˆ

πŸ¦‹ FORWARDS

Incoming messages addressed to particular email addresses can be forwarded to an outside email addresses, piped out to a command (when prepended with | pipe) or piped out with an mbox-style From line to a command (when prepended with ! bang). for example:

dbmail-users --forward bar@example.com --add-alias bar@another.example.net

dbmail-users --forward bar@example.com --add-alias "|/usr/sbin/superspamtrapper"

dbmail-users --forward bar@example.com --add-alias "!cat > /var/spool/mail/bar/whatever.mbox"

Forwards can be listed using the same --list command as for users. for example, to see where the local address bar@example.com might be forwarded to, use the following:

dbmail-users --list-user bar@example.com
  forward [bar@example.com] to [bar@example.net]
  forward [bar@example.com] to [|/usr/sbin/superspamtrapper]
  forward [bar@example.com] to [!cat > /var/spool/mail/bar/whatever.mbox]

Forwards can be removed using basic glob style pattern matching. A ? question means "match zero or one of any character" and * asterisk means "match zero or more of any character." for example:

dbmail-users --forward bar@example.com --delete-forward "*"

will complete and totally remove the bar@example.com external alias and all of its forwarding addresses and commands. like, all of them. bye πŸ‘‹

For example Gollum used to work at example.com but now works at example.org so any email addressed to gollum@example.com is forwarded to gollum@example.org

dbmail-users --forward gollum@example.com --add-forward gollum@example.org

When Gollum moves to example.net you delete the old forward and add the new one

dbmail-users --forward gollum@example.com \
  --delete-forward gollum@example.org \
  --add-forward gollum@example.net

πŸ” SEE ALSO

dbmail(1), dbmail.conf(5), dbmail-deliver(1), dbmail-export(8), dbmail-httpd(8), dbmail-imapd(8), dbmail-lmtpd(8), dbmail-pop3d(8), dbmail-sieved(8), dbmail-sievecmd(8), dbmail-users(8), dbmail-util(8)

πŸ’€ BUGS

For the latest announcements, please subscribe to the DBMail announce mailing list[1] πŸ“£

For general discussion, please subscribe to the DBMail general mailing list[2] πŸ’¬

If you experience an issue with DBMail, please report it on the DBMail Bug Tracker[3]. It may be helpful to have a debug log available. πŸ›

πŸŽ€ LICENSE

DBMail and its components are distributed under the terms of the GNU General Public License Version 2. Copyrights are held variously by the authors listed below.

πŸ‘‘ AUTHOR(S)

DBMail is a collaborative effort among the core developers listed below and the tremendous help of the testers, patchers and bug hunters listed in the AUTHORS and THANKS files found in the DBMail source distribution. 🫢

    Alan Hicks          Persistent Objects Ltd https://p-o.co.uk
    Eelco van Beek      Aaron Stone            Paul J Stevens
    Roel Rozendaal      Open Source Engineer   NFG Net Facilities Group BV
    Ilja Booij          Palo Alto, CA USA      http://www.nfg.nl
    IC&S                                       http://www.ic-s.nl

✨ AUTHOR

Alan Hicks <ahicks@p-o.co.uk> β€” Author.

πŸ¦‹ NOTES

  1. DBMail announce mailing list β€” https://dbmail.org/wws/info/dbmail-announce/
  2. DBMail general mailing list β€” https://dbmail.org/wws/info/dbmail-general/
  3. DBMail Bug Tracker β€” https://github.com/dbmail/dbmail/issues

and that's the whole page, bestie πŸŽ€ this lil' doc is dated 08/28/2026 and it's the DBMAIL-USERS(8) page β€” go forth and manage those users, you absolute icon πŸ‘‘βœ¨

πŸ“¦ where this page comes from