Linuxめも

Postfixインストール

# yum install postfix
# vi /etc/postfix/main.cf
myhostname = mail.example.com # FQDN
mydomain = example.com # ドメイン
myorigin = $mydomain # 送信元アドレスに追加するドメイン
inet_interfaces = all # 外部からも受け付ける
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain # ローカルに配送するドメイン
mynetworks_style = host # 他サーバの転送は受け付けない
home_mailbox = Maildir/ # Maildir形式にする
smtpd_banner = $myhostname ESMTP unknown # メールサーバソフト名を隠蔽

# SMTP認証設定
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    reject_unauth_destination

message_size_limit = 10485760 # 受信メールサイズ上限(10MB)
# vi /etc/postfix/master.cf
smtp      inet  n       -       n       -       -       smtpd
submission inet n       -       n       -       -       smtpd
  -o smtpd_sasl_auth_enable=yes
# yum install cyrus-sasl
# systemctl start saslauthd
# systemctl enabled saslauthd
# vi /etc/sasl2/smtpd.conf
pwcheck_method: auxprop
# systemctl restart postfix

25, 587ポートが開いていることを確認

# ss -natup | grep master

Dovecotインストール

# yum install dovecot
# vi /etc/dovecot/conf.d/10-mail.conf
mail_location = maildir:~/Maildir # Maildir形式にする
# vi /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = no
# vi /etc/dovecot/conf.d/10-ssl.conf
ssl = no
# systemctl start dovecot
# systemctl enable dovecot

110, 143ポートが開いていることを確認

# ss -natup | grep dovecot

バーチャルメールボックス設定

# groupadd -g 10000 mailuser
# useradd -u 10000 -g mailuser -s /sbin/nologin mailuser
# mkdir /var/spool/virtual
# chown -R mailuser:mailuser /var/spool/virtual
# vi /etc/postfix/main.cf
virtual_mailbox_domains = example1.com, example2.com
virtual_mailbox_base = /var/spool/virtual
virtual_mailbox_maps = hash:/etc/postfix/vmailbox
virtual_uid_maps = static:10000
virtual_gid_maps = static:10000

仮想ユーザーの作成

# vi /etc/postfix/vmailbox
user1@examle1.com example1.com/user1/Maildir/
user2@examle1.com example1.com/user2/Maildir/
user1@examle2.com example2.com/user1/Maildir/
user2@examle2.com example2.com/user2/Maildir/
# postmap /etc/postfix/vmailbox
# systemctl restart postfix

Dovecot側の設定

# vi /etc/dovecot/conf.d/10-auth.conf
auth_mechanisms = cram-md5 plain
!include auth-passwdfile.conf.ext
!include auth-static.conf.ext
# vi /etc/dovecot/conf.d/auth-passwdfile.conf.ext
passdb {
  driver = passwd-file
  args = scheme=CRAM-MD5 username_format=%u /etc/dovecot/passwd
}

userdb {
  driver = passwd-file
  args = username_format=%u /etc/dovecot/passwd
}
# vi /etc/dovecot/conf.d/auth-static.conf.ext
userdb {
  driver = static
  args = uid=10000 gid=10000 home=/var/spool/virtual/%d/%n
}
# systemctl restart dovecot

仮想ユーザーのパスワードを設定する

パスワードのハッシュ値を取得

# doveadm pw
# vi /etc/dovecot/passwd
user1@examle1.com:{CRAM-MD5}うんたら

SMTP認証用パスワード設定

user1@exmaple1.com の場合

# echo "password" | saslpasswd2 -p -u exmaple1.com -c user1

確認

# sasldblistusers2
# chgrp postfix /etc/sasldb2

削除する場合

# saslpasswd2 -d user1 -u exmaple1.com

参考

メールサーバー構築(Postfix+Dovecot)
https://centossrv.com/postfix.shtml

PostfixとDovecotでバーチャルメールボックスの設定をする
https://qiita.com/dribble13/items/36847b944caed440d714

postfix+dovecotでバーチャルドメイン(バーチャルメールボックスを使用)
https://www.server-memo.net/server-setting/postfix/postfix-virtualmailbox.html


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS