Last modified: Thu Dec 9 22:28:42 JST 1999

メールサーバの構築

間違いや改良点はどんどんメール下さいませ

(Japanese EUC Only)



  1. 必要なツールを入手しましょう。
    sendmailの動作を設定する為にsendmail.cfを書かなくては なりませんが、これはとても人間がかけるようなものではありません。:-p
    ですからツールに書いてもらいましょう。私が使ったのは CF-3.4W3.tar.gzというものです。まずこれを入手しましょう。 もちろん、もっと新しいものが出ているかもしれません。 できるだけ新しいものを使いましょう。

  2. CFを展開しましょう。
    ここでは /usr/src/CF-3.4W3 というディレクトリに展開されているとします。 まずそこに移動しましょう。

    % cd /usr/src/CF-3.4W3 [enter]

  3. Perlは実装されていますか?
    CFはスクリプトです。普通のシェルでも動きますが Perl があるなら そちらを使いましょう。処理が早くなります。
    Perl は Linuxに限らず大体のシステムで /usr/binまたは /usr/local/bin配下にあります。確認しましょう。 もし Perlがあったならば Makefileを書き換えましょう。

    PERL= /usr/local/bin/jperl
    のようにPERL=の行に自分のマシンのperlをフルパスで指定しましょう。

  4. sendmail.cf作成用ツールを自分の環境に合わせて再構築しましょう。
    % make cleantools [enter]
    % make tools [enter]
    と、やって下さい。

  5. 標準定義 defファイルを作成しましょう。

    % make samples [enter]
    と、やって下さい。5つのサンプルファイルができます。

    sample.def----->sendmail 8.x用一般
    sample-v1.def-->sendmail 5.x+1.6W用一般
    nmtc.def------->sendmail 5.xベース用一般
    null.def------->sendmail 8.x用null client
    null-v1.def---->sendmail 5.x用null client

  6. 設定しましょう。
    上記5つのサンプルのうちの1つをsendmail.defなど適当な名前の ファイルにコピーし必要な設定を書き込みましょう。

    % cp Standards/sample.def ./sendmail.def [enter]
    % vi sendmail.def [enter]

    sendmail.defファイルを記述する際の各項目の詳細については
    doc/INTRO.jpn
    doc/MANUAL.jpn
    を参照して下さい。
    また、.def ファイル中のコメントに現れる V1/V5 という記号 は、 sendmail.cf のバージョンを示すもので、それぞれ R5/R8 の sendmail で 利用できることを示しています。

  7. sendmail.cfを作成しましょう。
    % make sendmail.cf [enter]

    ${BASE}.cf という名前を make の引数として指定すると,
    ${BASE}.def から ${BASE}.cf が作成されます.

  8. sendmail.cf をシステムディレクトリにインストールしましょう。
    できあがったsendmail.cfをシステムディレクトリ (大抵は/etc。Solaris2.xなら/etc/mail)にコピーしましょう。 その際、ファイルのパーミッションには気をつけましょう。

  9. さて、設定ファイルはできました。次はsendmailを確認しましょう。
    Linuxには最初からsendmailが入っています。
    /usr/bin/sendmailというファイルがありますか?
    もしシステムが
    uxp/dsならば/usr/ucblib/sendmail
    Solaris2.xならば/usr/lib/sendmail
    ですね。

  10. sendmailを起動しましょう。
    システムによっては既に起動されているかもしれませんから、 確認しましょう。
    ps -aux | grep sendmail | grep -v grep : BSD系
    ps -ef | grep sendmail | grep -v grep : SystemV系
    を実行して何も表示されなければsendmailは立ち上がっていません。

    Linux

    /etc/rc.d/rc.Mの中のsendmailのところのコメントを外して、 システム起動時に立ち上がるようにしてリブートしましょう。(安易 :-p)
    Solaris2.x
    /etc/rc0.d/K57sendmailの中でsendmailを起動しています。コメントを外して システム起動時に立ち上がるようにしてリブートしましょう。 (またも安易 :-p)
    uxp/ds
    これはめんどいです。今回は割愛。m(__)m
    あ、でも最近のやつはsendmailのバージョンも新しいようです。:P
  11. さぁ、次はテストです。
    ちゃんと送れるかテストしましょう。Linuxを例に説明します。
    私のアドレスに送ってみましょう。

    % /usr/bin/sendmail -v yoshi@pisces.bekkoame.or.jp [enter]

    52 force:/home/yoshi > sendmail -v yoshi@pisces.bekkoame.or.jp
    test mail [enter]
    . [enter]
    yoshi@pisces.bekkoame.or.jp... Connecting to cola.bekkoame.or.jp. via smtp...
    220-cola.bekkoame.or.jp Sendmail 8.6.12+2.5W/3.4W2; Mon, 29 Apr 1996 13:19:57 +0900
    220 ESMTP spoken here
    >>> EHLO force.pisces.bekkoame.or.jp
    250-cola.bekkoame.or.jp Hello yoshi@yhm0066.bekkoame.or.jp [202.251.248.66], pleased to meet you
    250-EXPN
    250-SIZE
    250 HELP
    >>> MAIL From: SIZE=12
    250 ... Sender ok
    >>> RCPT To:
    250 ... Recipient ok
    >>> DATA
    354 Enter mail, end with "." on a line by itself
    >>> .
    250 NAA17525 Message accepted for delivery
    yoshi@pisces.bekkoame.or.jp... Sent (NAA17525 Message accepted for delivery)
    Closing connection to cola.bekkoame.or.jp.
    >>> QUIT
    221 cola.bekkoame.or.jp closing connection
    
    のようになりましたか? -vというのがデバックオプションで 送信の状態が表示されます。
    Message accepted for delivery
    なんて出てれば大丈夫でしょう。ちゃんと動きましたか?


とまぁ、以上です。結構飛ばして説明してますが勘弁して下さいね。
どうもうまくいかん、という時にはメール下さい。:-)
All Right Reserved, Copylight (C) Yoshinori ARAI. 1998

backyoshi's HOME pageに戻る

抗議・質問はこちら