openSUSE Leap 16

Mail サーバー : メールアカウント登録 (仮想ユーザー)2025/12/02

 

メール用のユーザーアカウントを登録します。

当例では OS ユーザーは利用せず、メール専用の仮想メールユーザーアカウントを作成して利用する場合の設定です。

[1]

Postfix の基本設定, および Dovecot の基本設定を実施しておきます。

[2] Postfix と Dovecot へ仮想メールユーザー用の追加設定を実施します。
# 仮想メールボックス管理ユーザー作成

mail:~ #
useradd --uid 20000 --shell /sbin/nologin vmail
mail:~ #
vi /etc/postfix/main.cf
# 719行目 : コメントにする

#
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
# 451行目 : 変更

home_mailbox =
/home/vmail/%d/%n/Maildir

# 最終行に追記
# 複数ドメインを設定する場合はカンマ または スペース区切りで指定
virtual_mailbox_domains = srv.world, virtual.host
virtual_mailbox_base = /home/vmail
virtual_mailbox_maps = lmdb:/etc/postfix/virtual-mailbox
virtual_uid_maps = static:20000
virtual_gid_maps = static:20000

mail:~ #
vi /etc/dovecot/dovecot.conf
# 45行目 : mail_path 変更
mail_driver = maildir
mail_path = /home/vmail/%{user|domain}/%{user|username}/Maildir

# 最終行に追記
passdb passwd-file {
  default_password_scheme = cram-md5
  auth_username_format = %{user}
  passwd_file_path = /etc/dovecot/users
}
userdb static {
  fields {
    uid = vmail
    gid = vmail
    home = /home/vmail/%{user|domain}/%{user|username}
  }
}

mail:~ #
systemctl restart postfix dovecot
[3] 仮想ユーザーアカウントを登録します。
mail:~ #
vi /etc/postfix/virtual-mailbox
# 新規登録
# [ユーザーアカウント] [メールボックス]

suse@srv.world   srv.world/suse/Maildir/
leap@srv.world   srv.world/leap/Maildir/
sles@virtual.host   virtual.host/sles/Maildir/

mail:~ #
postmap /etc/postfix/virtual-mailbox
# 暗号化パスワード生成

mail:~ #
doveadm pw -s cram-md5

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

mail:~ #
vi /etc/dovecot/users
# 新規登録
# [ユーザーアカウント] [パスワード]

suse@srv.world:{CRAM-MD5}xxxxxxxxxxxxxx
leap@srv.world:{CRAM-MD5}xxxxxxxxxxxxxx
sles@virtual.host:{CRAM-MD5}xxxxxxxxxxxxxx

mail:~ #
systemctl reload postfix dovecot
[4] 以上で設定完了です。
登録した仮想メールアカウントで、メールの送受信を実施して動作確認しておくとよいでしょう。
当例に従って設定した場合、メールクライアントに設定するユーザー名はメールアドレスとなります。
関連コンテンツ