[postfix]main.cfの設定例

  • 投稿者:
  • 投稿カテゴリー:postfix

サーバを移行することになったため、メモとして残しておく。
あくまで参考であり、実際に利用する場合はパラメーターを見直すこと。

# See /usr/share/postfix/main.cf.dist for a commented, more complete version

# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.

# メールサーバが返却するバナー文字列(RFC上、hostnameは入れるべし)
smtpd_banner = $myhostname Mail System
biff = no

# 接続するクライアントを制限する
# 以下は、正引き、逆引きできないクライアントからの接続を拒否する
# RCPT TO コマンドの後に、以下の様なエラーとなる
# 450 4.7.1 Client host rejected: cannot find your hostname, [104.42.99.92]
smtpd_client_restrictions = permit_mynetworks , reject_unknown_client_hostname

# VRFYコマンド(ユーザ確認コマンド)を禁止する
disable_vrfy_command = yes

# ETRNコマンドはmynetworks以外は拒否する(554 5.7.1: Etrn command rejected: Access denied が返却)
smtpd_etrn_restrictions = permit_mynetworks , reject

# appending .domain is the MUA's job.
append_dot_mydomain = no

# HELO, EHLO コマンドがないと、エラー(503 5.5.1 Error: send HELO/EHLO first)を返却する
smtpd_helo_required = yes
# HELO, EHLO コマンドのクライアント名によっては拒否する
# コマンド文法が違う場合とクライアント名が名前解決できない場合は拒否する
# RCPT TO コマンドの後に、以下の様なエラーとなる
# 450 4.7.1 <akat>: Helo command rejected: Host not found
smtpd_helo_restrictions = permit_mynetworks , reject_invalid_hostname , reject_unknown_hostname , permit
# MAIL FROM: 後のエンベロープアドレスを制限する
# ドメインが名前解決できない場合、拒否する
# RCPT TO コマンドの後に、以下の様なエラーとなる
# 450 4.1.8 <shimizu@akat>: Sender address rejected: Domain not found
smtpd_sender_restrictions = reject_unknown_sender_domain , permit

# RFCにそぐわないメールアドレスが通知された場合に拒否する
# その場合、以下の様なエラーとなる
# 501 5.1.7 Bad sender address syntax
# strict_rfc821_envelopes = yes

# RCPT TO: 後のエンベロープアドレスを制限する
# 基本的にrelay_domainsで指定したドメインにしか送らないため、そのままで問題ない
smtpd_recipient_restrictions =

# メールヘッダにて制限する
header_checks = regexp:/etc/postfix/header_checks

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
# メールサーバのFQDN
myhostname = mail.akat.info
# ドメイン名
mydomain = akat.info


alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
# ローカルで配送依頼されたメールの送信元アドレスに付加するドメイン名を設定
# "user@$mydomain"として送信する
myorigin = $mydomain

# 他のメールサーバに転送を行わない(ローカルに転送するホストとドメインを指定)
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
# メール配送時に配送用のメールサーバを指定する
relayhost =

relay_domains = $mydestination
# メールをリレーするクライアントのIPアドレスを指定
mynetworks = 127.0.0.0/8
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
# メールを受信するインターフェースアドレスを指定
inet_interfaces = all

# ローカルのメール配送方法設定
# home_mailbox = Maildir
# メールスプールディレクトリを設定
# mail_spool_directory = /var/mail