環境 †
前提条件 †
- 独自ドメイン (example.com 等) 取得済み
- mail.example.com の A レコードの値がサーバーの GIP に設定済み
- mail.example.com の MX レコード設定済み
iptables 設定 †
$ sudo vi /etc/sysconfig/iptables
-A SERVICES -p tcp --dport 25 -j ACCEPT
-A SERVICES -p tcp --dport 587 -j ACCEPT
-A SERVICES -p tcp --dport 465 -j ACCEPT
-A SERVICES -p tcp --dport 110 -j ACCEPT
-A SERVICES -p tcp --dport 995 -j ACCEPT
-A SERVICES -p tcp --dport 143 -j ACCEPT
-A SERVICES -p tcp --dport 993 -j ACCEPT
$ sudo service iptables restart
Postfix 構築 †
$ sudo yum -y install postfix
$ postconf | grep mail_version
mail_version = 2.6.6
Poftfix 設定 †
/etc/postfix/main.cf 編集 †
$ sudo vi /etc/postfix/main.cf
myhostname = mail.example.com
mydomain = example.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
home_mailbox = Maildir/
smtpd_banner = $myhostname ESMTP unknown
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions =
permit_mynetworks
permit_sasl_authenticated
reject_unauth_destination
message_size_limit = 10485760
/etc/postfix/master.cf 編集 †
$ sudo vi /etc/postfix/master.cf
submission inet n - n - - smtpd
- Submission ポートでの SMTP 認証有効化
# -o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
# -o smtpd_client_restrictions=permit_sasl_authenticated,reject
SMTP 認証設定 (システムのユーザー/パスを SMTP 認証ユーザー/パスに利用する場合) †
- Cyrus SASL ライブラリ インストール (未インストールの場合)
$ sudo yum -y install cyrus-sasl
$ sudo /etc/rc.d/init.d/saslauthd start
$ sudo chkconfig saslauthd on
新規ユーザー対処 †
- 新規ユーザー追加時に Maildir 形式メールボックス自動作成設定
$ sudo mkdir -p /etc/skel/Maildir/{new,cur,tmp}
$ sudo chmod -R 700 /etc/skel/Maildir/
unknown ユーザー宛メールの廃棄設定 †
$ sudo vi /etc/postfix/main.cf
- 最終行に unknown_user への転送設定を追記
local_recipient_maps =
luser_relay = unknown_user@localhost
$ su -
# echo unknown_user: /dev/null >> /etc/aliases
# newaliases
# exit
Sendmail 停止 (Sendmail が稼働している場合) †
$ sudo alternatives --config mta
$ sudo service sendmail stop
$ sudo chkconfig sendmail off
Postfix 起動 †
$ sudo /etc/rc.d/init.d/postfix restart
$ sudo chkconfig postfix on
ユーザー作成 †
$ sudo useradd -s /sbin/nologin testuser
$ sudo passwd testuser
- ※ SMTP 認証用のユーザー名/パスワード設定とシステムユーザーを分ける場合は saslpasswd2 を利用する必要あり
メール受信確認 †
- Gmail 等から testuser@example.com 宛にメールを送信
- /home/testuser/Maildir/new/ 配下にファイルが追加れていることを確認
- 追加されない場合は /var/log/maillog 等を確認
Dovecot インストール †
$ sudo yum -y install dovecot
$ dovecot --version
2.0.9
Dovecot 設定 †
/etc/dovecot/conf.d/10-mail.conf 編集 †
$ sudo vi /etc/dovecot/conf.d/10-mail.conf
mail_location = maildir:~/Maildir
/etc/dovecot/conf.d/10-auth.conf 編集 †
$ sudo vi /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = no
auth_mechanisms = plain login
/etc/dovecot/conf.d/10-ssl.conf 編集 †
$ sudo vi /etc/dovecot/conf.d/10-ssl.conf
ssl = no
Dovecot 起動 †
$ sudo /etc/rc.d/init.d/dovecot start
$ sudo chkconfig dovecot on
メール送受信の確認 †
- Thunderbird 等のメールクライアントにてアカウント設定しメール送受信確認
- POP / SMTP サーバーを mail.example.com に指定
- POP ポート番号: 110
- SMTP ポート番号: 587
- POP / SMTP 認証方式: 平文のパスワード認証