postfixのの設定と使い方
概要
- postfix - Postfix control program
インストール
ubuntu, debian
$ sudo apt install postfix
postfixのサブコマンド
check
- 設定ファイルの構文チェック
start
- 開始
stop
- 停止
abord
- 強制停止
reload
- 設定を再読み込み
flush
- キュー内のメッセージを再送
設定
/etc/postfix/main.cf
- postfixの設定
/etc/postfix/master.cf
- postfixのdaemonに関する設定
smtps
- コメントを外すと有効化
具体例
mail_owner = postfix # メール所有者
myhostname = mail.<my-domain.com> # ホスト名
# 自分のサーバの設定
mydomain = <my-domain.com> # ドメイン名
myorigin = $mydomain # ローカルからのメール送信時の送信元メールアドレス@以降にドメイン名を付加
local_recipient_maps = unix:passwd.byname $alias_maps # <= サーバにアカウントがあれば、その人宛に届く
alias_maps = hash:/etc/aliases # 受信メールの再転送先ファイル
alias_database = hash:/etc/aliases # newaliasesコマンドの実行対象
# 受信するネットワーク
inet_interfaces = all # 外部からのメール受信を許可
# 配送先とリレー
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain # 自ドメイン
mynetworks = 127.0.0.0/8 # ここに書いたネットワークがリレーを許可するネットワークになる
relay_domains = ... # 自ドメイン以外に中継するドメイン
smtpd_banner = $myhostname ESMTP # メールサーバーソフト名の隠蔽化
sendmail_path = /usr/sbin/postfix # Postfix sendmail コマンドの場所
newaliases_path = /usr/bin/newaliases # Postfix newaliases コマンドの場所
mailq_path = /usr/bin/mailq # Postfix mailq コマンドの場所
setgid_group = postdrop # set-gid Postfix コマンドおよびグループ書き込み可能な Postfix ディレクトリを所有するグループ
# メッセージボックス
message_size_limit = 10485760 # 送受信メールサイズを10Mに制限
mailbox_size_limit = 1073741824 # メールボックスサイズを1Gに制限
home_mailbox = Maildir/ # メールボックス(個別ユーザ)
mail_location = ... # また別のメールボックス
mail_spool_directory = /var/spool/mail # メールスプールディレクトリ(共通)
# smtp認証関連
smtpd_sasl_auth_enable = <yes|no> # yes, no
smtpd_sasl_type = <type> # saslのプラグインの認証情報
smtpd_sasl_path = <method> # saslプラグインが認証情報を受け渡す方法
smtpd_sasl_local_domain = <relm> # sasl認証のrelm(ドメイン)を指定
# tls関連
smtps = yes # yes, no
smtpd_use_tls = yes # yes, no, TLSを使用するかどうか
smptd_enforce_tls = yes # yes, no
smptd_tls_security_level = ... # may or encrypt
smptd_tls_cert_file = ... # サーバ証明書ファイル
smptd_tls_CAfile = ... # CAの証明書ファイル
smptd_tls_key_file = ... # サーバ秘密鍵ファイル
ツール各種
postsuper
メールキュー内をすべて削除
# postsuper -d
postque
メールキューを表示
# postqueue -p
または
# mailq
メールキューを直ちに実行
# postqueue -f
または
# postfix flush
postconf
すべての設定を確認
# postconf
変更差分だけを確認
# postconf -n
指定したパラメータだけを表示
# postconf <parameter>
telnetでメールを送信
$ telnet 127.0.0.1 25
HELO <foo.localdomain>
MAIL FROM: bar@localdomain
RCPT TO: target@localdomain
DATA
...
QUIT