※大幅に改訂しました
想定環境
パッケージ管理でインストールできるソフト
- Postfix2.x
- Dovecot2.x
#基本設定
送受信がSMTP/POPでできるレベル
main.cf
myhostname = hostname.doma.in
mydomain = doma.in
myorigin = $myhostname
mydestination = $myhostname, localhost.$mydomain, $mydomain
relay_domains = $mydestination
home_mailbox = Maildir/
smtpd_banner = $myhostname ESMTP
html_directory = no
/etc/dovecot/10-mail.conf
mail_location = maildir:~/Maildir
基本的な設定。Maildir形式あたりはデファクトスタンダード
#TLSの導入
送信サーバは993、受信サーバは995番で送受信できるようにする。ファイアーウォールなどで該当ポートをブロックしていた場合、解除する。
証明書が必要になるので用意する。
main.cf
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/httpd/conf/ssl.crt/server.crt
smtpd_tls_key_file = /etc/httpd/conf/ssl.key/server.key
master.cf
smtps inet n - n - - smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
submission inet n - n - - smtpd
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
dovecot.conf
protocols = pop3
ssl = yes
/etc/dovecot/10-master.conf
service pop3-login {
inet_listener pop3 {
port = 110
}
inet_listener pop3s {
port = 995
ssl = yes
}
}
/etc/dovecot/10-ssl.conf
ssl_cert = </etc/httpd/conf/ssl.crt/server.crt
ssl_key = </etc/httpd/conf/ssl.key/server.key
#SMTP-SASL認証
SMTP送信時に認証されたユーザ意外は弾く。下記設定では認証ユーザ情報をDBファイルに外置きするsasldb形式とする。(POPは普通にPam認証なので俺は注意すること。)
main.cf
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination
smtpd_sasl_local_domain = $myhostname
broken_sasl_auth_clients = yes
/etc/sasl2/smtpd.conf
pwcheck_method: auxprop
mech_list: cram-md5 digest-md5 plain login
###SASLDB操作
sasldblistusers2 ユーザ一覧を見る。
saslpasswd2 ユーザの追加・削除