Postfixの設定

投稿日:

主に毎日送られてくる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 を実行しておわり.

コメントを残す

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