Postfixインストール†# yum install postfix # vi /etc/postfix/main.cf #myhostname = example1.com # FQDN #mydomain = example1.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認証用パスワード設定†# echo "password" | saslpasswd2 -p -u exmaple1.com -c user1 確認 # sasldblistusers2 # chgrp postfix /etc/sasldb2 削除する場合 # saslpasswd2 -d user1 -u exmaple1.com 不正中継拒否テスト†18種類のテストが行われ、全てで Relay NOT Accepted となればOK 参考†メールサーバー構築(Postfix+Dovecot) PostfixとDovecotでバーチャルメールボックスの設定をする postfix+dovecotでバーチャルドメイン(バーチャルメールボックスを使用) |