主に毎日送られてくるCharlie rootメールの配信用にPostfixをインストールして設定した.
- 外向けに配信する際につけるドメインはホスト名抜きにする.
- 対応するメールアドレスはレンタルサーバー上で送受信できるよう,あらかじめ設定しておく.
- 外向けに配信する際のリレーサーバーはレンタルサーバーを使う.
また、smtp認証に対応させる. - ローカルユーザー宛のメールはaliasesで普段使っているアドレスに転送する.
下記ページを参考にした.
http://www.postfix.org/SOHO_README.html
1. Postfixのインストール
pkgngにあるものはsmtp認証で使うSASLが無効になっているので,Portsから入れる.
# cd /usr/ports/mail/postfix/ # make config # make all-depends-list
で依存関係を確認し,pkg コマンドで依存するパッケージをいれておく.
その際に,make configでSASL2にチェックを入れておくと,cyrus-sasl2が依存リストに現れる.
依存するパッケージが入ったら,make allでビルドし,make install でインストールする.
2. 設定
(1) 外向けに配信する際にアドレス付与する設定
generic(5) を見るとこう書いてある.
DESCRIPTION The optional generic(5) table specifies an address mapping that applies when mail is delivered.
EXAMPLE The following shows a generic mapping with an indexed file. When mail is sent to a remote host via SMTP, this replaces his@localdomain.local by his ISP mail address, replaces her@localdomain.local by her ISP mail address, and replaces other local addresses by his ISP account, with an address extension of +local (this example assumes that the ISP supports "+" style address extensions). /usr/local/etc/postfix/main.cf: smtp_generic_maps = hash:$config_directory/generic /usr/local/etc/postfix/generic: his@localdomain.local hisaccount@hisisp.example her@localdomain.local heraccount@herisp.example @localdomain.local hisaccount+local@hisisp.example Execute the command "postmap /usr/local/etc/postfix/generic" whenever the table is changed. Instead of hash, some systems use dbm database files. To find out what tables your system supports use the command "postconf -m".
というわけなので,rootはrose-admin@~,それ以外はそのままドメインをつけるということで,
root@rose:/usr/local/etc/postfix # cat generic root@rose.everblooming.net rose-admin@everblooming.net @rose.everblooming.net @everblooming.net
と書く.最後に postmap コマンドでdbファイルを更新し,main.cfに
smtp_generic_maps = hash:$config_directory/generic
を追加.
(2) 外部配信でsmtp認証を使う設定
この辺参照.main.cf に以下を追記し,
relayhost = [everblooming.net]:587 smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/usr/local/etc/postfix/sasl_passwd smtp_use_tls = yes smtp_sasl_security_options = noanonymous, noplaintext smtp_sasl_tls_security_options = noanonymous smtp_sasl_mechanism_filter = plain, login
sasl_passwd に配送用のアカウント情報(ID, パスワード)を記載する.
[<host>]:<port> <id>:<password>
の形式で記載する.
ファイルを保存したら postmap でdb化する.また,パスワードを保存するファイルなので,root以外読み書きできない様にする.
(3) alises
sendmailのと同じなので,
<id>: <転送先>
の形式で書いて,/usr/local/bin/newaliases を実行しておわり.