Postfix導入

投稿日:

ローカルの/var/mailにたまり続ける日々のシステムレポートを何とかすべく、色々考えた。結論としてはPostfixに行き着いたが、途中ssmtpというのにも手を出した。

ssmtpは送信専用のMTAでローカルではsendmailのふりをしてくれる。外のSMTPサーバを使って配送してくれて、From:フィールドの置き換えとか、root(正確にはuid 1000未満のユーザ)宛のメールを特定のアドレスに飛ばしてくれるので、毎日のroot宛メールをさばくにはちょうどいい。

というわけで、色々試してみて、動作的にもいい感じだったのだけど、一般ユーザ(uid 1000以上のユーザ)宛は宛先を書き換えてくれず、やってもドメイン名をつけるだけという動きで、使い物にならず。
あと、smtpsのパスワードを設定ファイルに平文で書くのも違和感あり。

パスワードは少々我慢したとして、もう少し粘ればTo:フィールドのアドレス書き換えくらいできそうな気もしたけど、設定項目が少なく、断念してPostfixに手を出した。

ssmtpと同じく、送信専用にするのはこんな感じの設定でOK。

myhostname = toby.localdomain
mydomain = localdomain
myorigin = $myhostname

inet_interfaces = $myhostname, localhost

unknown_local_recipient_reject_code = 550

mynetworks_style = host

# relay setting

relayhost = [aperire.sakura.ne.jp]:587

smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/usr/local/etc/postfix/sasl_passwd
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_mechanism_filter = plain

inet_interfacesをローカル限定にするのと、relayhostを設定するのがポイントなのかな。今回は、relayhostとして日記のサーバのsmtps(STARTTLS)を使用するようにsasl_passwdにアカウントとパスワード等を用意。

そして、From:の書き換えは以下の行を同じくmain.cfに追加し、

# rewrite sender address for relayhost
sender_canonical_maps = hash:/usr/local/etc/postfix/sender_canonical

sender_canonicalというファイルに、<user名> <Fromアドレス>を羅列すればOK。

最後に、aliasesに各ユーザ宛の転送先をsendmailと同様に記載して、newaliasesを実行。

portsで入れた時にゴニョゴニョ言われたrc.confやperiodic.confに追記する内容等々を書きこんでおしまい。

思ったよりサクッと動いたので、もっと早くやっておけばよかったと思った。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です