sendmail.cf の設定 - CF を使う場合

Last modified: Fri Nov 30 16:23:25 2001 +0900 (JST)


概要

 sendmail がどう配送するかといった設定には sendmail.cf というファイルを使用します。 この sendmail.cf を容易に作成するために、CF というツールを用います。

 最近の Free PC-UNIX (Linux, FreeBSD など) には、 CF がプレインストールされていたり、binary package になっていて簡便にインストールできるようになっています。 このような環境では、以下の記述とディレクトリ位置などが異なるかもしれません。 その場合は、適時読みかえてください。


ファイルの入手

 ftp://ftp.st.ryukoku.ac.jp/pub/network/mail/CF/ より CF-3.7Wpl2.tar.gz を入手して下さい。


ファイルの展開

 入手したファイルが、/some/where ディレクトリにあるとします。

% gzip -cd /some/where/CF-3.7Wpl2.tar.gz | tar xvf -
% cd CF-3.7Wpl2

 ファイルを展開した後、最初に README.jpn をお読み下さい。 その後、標準定義 def ファイルを作成します。

% make cleantools
% make tools
% make samples

sendmail.cf の作成

 Standards ディレクトリに、sendmail の version に対応する def ファイルがあります。 ここでは、sendmail-8.9.3 のための sendmail-v8.def を編集します。

% cp Standards/sendmail-v8.def .

 例としてメールサーバを foo.elec.ryukoku.ac.jp、 メールクライアントを bar1.elec.ryukoku.ac.jp とします。 sendmail-v8.def を以下の対応する部分と書き換えて下さい。

  1. 研究室のメールサーバ (foo)
    OS_TYPE= # ここには、Master/OSTYPE/ にある自分の OS 名を書いて下さい。
    # 自分のホスト名に別名 (alias) がある場合、# を外して alias 名を書いて下さい。
    #MY_ALIAS=
    # 相手のサブドメインが ryukoku.ac.jp の時は自分自身 (foo) が直接配送する
    DIRECT_DELIVER_DOMAINS="ryukoku.ac.jp"
    # 自分 (foo) では配送できない場合、つまり学外へは
    # smtpgate.st.ryukoku.ac.jp に配送してもらう
    # smtpgate.st.ryukoku.ac.jp が停止していた場合は
    # rfws.ryukoku.ac.jp (龍大ファイアウォール) に配送してもらう
    DEFAULT_RELAY='smtp:smtpgate.st.ryukoku.ac.jp.:rfws.ryukoku.ac.jp.'
    # MAX HOP は 40 程度を推奨
    MAX_HOP='40'
    # ident の timeout を 5 秒に
    TIMEOUT_IDENT='5s'
    # 無制限に relay する
    # (ファイアウォールで守られているので yes とする必要はないでしょう)
    MAIL_RELAY_RESTRICTION=no
    # プライバシーを守る
    PRIVACY_FLAGS=goaway
    
  2. 研究室のメールサーバではないが、配送はおこなう (bar1)
    OS_TYPE= # ここには、Master/OSTYPE/ にある自分の OS 名を書いて下さい。
    # From: の設定
    FROM_ADDRESS='foo.elec.ryukoku.ac.jp'
    # 相手のサブドメインが ryukoku.ac.jp の時は自分自身 (bar1) が直接配送する
    DIRECT_DELIVER_DOMAINS="ryukoku.ac.jp"
    # 自分 (bar1) では配送できない場合、つまり学外へは
    # smtpgate.st.ryukoku.ac.jp に配送してもらう
    DEFAULT_RELAY='smtp:smtpgate.st.ryukoku.ac.jp.:rfws.ryukoku.ac.jp.'
    # MAX HOP は 40 程度を推奨
    MAX_HOP='40'
    # ident の timeout を 5 秒に
    TIMEOUT_IDENT='5s'
    # 無制限に relay する
    # (ファイアウォールで守られているので yes とする必要はないでしょう)
    MAIL_RELAY_RESTRICTION=no
    # プライバシーを守る
    PRIVACY_FLAGS=goaway
    

 CF は現在メンテナンスが終了しているようで、 Master/OSTYPE/ の内容が最近の OS と合致しないようになっています。 そのような OS 用の OSTYPE ファイルを手元でつくってみました。 Master/OSTYPE/ ディレクトリにコピーして利用してください。

 編集作業が終わったら、

% make sendmail-v8.cf

とし、sendmail-v8.def から sendmail-v8.cf を作成して下さい。


sendmail.cf の配置

 今まで使用していた sendmail.cf は、日付けなどを利用してバックアップしておいて下さい。 例えば、1998 年 8 月 31 日にバックアップする場合、

# cp -p /etc/sendmail.cf /etc/sendmail.cf-19980831

 そして、作成した sendmail-v8.cf を /etc にコピーして下さい。

# cp -i sendmail-v8.cf /etc/sendmail.cf
# chmod 444 /etc/sendmail.cf

 OS によっては、sendmail.cf は別のディレクトリに置く必要があるかもしれません。 たとえば Solaris 2.x なら、

# cd /etc/mail
# mv -i sendmail.cf sendmail.cf-19980831
# ln -s /etc/sendmail.cf

として下さい。


戻る