Ubuntu 26.04

Mail Server : Add Mail Accounts (Virtual User)2026/06/08

 

Add Mail Accounts (Virtual User).

This example is for the case you use virtual mail-user accounts, not use OS user accounts.

[1]

Configure basic Postfix settings, and basic Dovecot settings first.

[2] Configure additional settings to Postfix and Dovecot.
# create admin user for virtual mailboxes

root@mail:~#
adduser --uid 20000 --disabled-password --disabled-login vmail
root@mail:~#
vi /etc/postfix/main.cf
# line 197 : comment out

#
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
# add to last line
# if specify multiple domains, specify comma or space separated
virtual_mailbox_domains = srv.world, virtual.host
virtual_mailbox_base = /home/vmail
virtual_mailbox_maps = hash:/etc/postfix/virtual-mailbox
virtual_uid_maps = static:20000
virtual_gid_maps = static:20000

root@mail:~#
vi /etc/dovecot/conf.d/10-auth.conf
# line 93 : add

auth_mechanisms =
cram-md5
plain login
# line 116 : comment out

#
!include auth-system.conf.ext
# line 119 : uncomment

!include auth-passwdfile.conf.ext
# line 120 : uncomment

!include auth-static.conf.ext
root@mail:~#
vi /etc/dovecot/conf.d/auth-passwdfile.conf.ext
# line 6-10 : uncomment and change password_scheme
passdb passwd-file {
  default_password_scheme = cram-md5
  auth_username_format = %{user}
  passwd_file_path = /etc/dovecot/users
}

root@mail:~#
vi /etc/dovecot/conf.d/auth-static.conf.ext
# line 29-35 : uncomment and change home

userdb static {
  fields {
    uid = vmail
    gid = vmail
    home = /home/vmail/%{user|domain}/%{user|username}
  }
}

root@mail:~#
vi /etc/dovecot/conf.d/10-mail.conf
# line 41 : change mail_path

mail_path =
/home/vmail/%{user|domain}/%{user|username}/Maildir
root@mail:~#
systemctl restart postfix dovecot
[3] Add virtual mail user accounts.
root@mail:~#
vi /etc/postfix/virtual-mailbox
# create new
# [user account] [mailbox]

ubuntu@srv.world   srv.world/ubuntu/Maildir/
ubuntu@virtual.host   virtual.host/ubuntu/Maildir/

root@mail:~#
postmap /etc/postfix/virtual-mailbox
# generate password

root@mail:~#
doveadm pw -s cram-md5

Enter new password:
Retype new password:
{CRAM-MD5}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

root@mail:~#
vi /etc/dovecot/users
# create new
# [user account] [password]

ubuntu@srv.world:{CRAM-MD5}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ubuntu@virtual.host:{CRAM-MD5}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

root@mail:~#
systemctl reload postfix dovecot

[4] That's OK. Verify to test to send emails on Mail client.
For this settings, specify email address for [Username] on Email Client settings.
Matched Content