# 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
# 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
# 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}うんたら
# 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