Help us understand the problem. What is going on with this article?

メールサーバをチューン

More than 5 years have passed since last update.

※大幅に改訂しました

想定環境

パッケージ管理でインストールできるソフト

  • 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 ユーザの追加・削除

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away