ASH | サーバ | セキュリティ | Linux | FreeBSD | DB | Web | CGI | Perl | Java | XML | プログラム | ネットワーク | 標準 | Tips集

メールサーバ構築

メールサーバの概要

 メールは、インターネット上でメッセージをやりとりする手段です。
 メールを送受信するためには、メールアドレスが必要です。メールアドレスは、住所、氏名に相当するもので、user@domainの形式で表します。
 メールは、送信時は、SMTP プロトコル (port 25)を使用し、受信時は、POP3 プロトコル (port 110)などを送信します。telnetでメール送信telnetでメール受信で、簡単なメールの送受信の流れについて説明しています。
 ここでは、電子メールを送受信するために必要な環境の構築方法を説明します。

sendmail の設定

 sendmail は、UNIX の標準的なメール配信プログラムです。ほとんどのUNIX には、標準添付されているのですが、古いバージョンにはセキュリティホールがあるため、 バージョンを調べて、古いものは置換する必要があります。

バージョン情報

 sendmail 8.9.3 (1999/06/27)

入手方法

 ftp://ftp.sendmail.org/pub/sendmail/
 ftp://ftp.iij.ad.jp/pub/network/sendmail/

インストール方法

unix> cd /usr/local/src/
unix> gzip -cd ../pub/sendmail-8.9.3.tar.gz | tar -xvf -
unix> cd sendmail-8.9.3
unix> cd src

 以下、インストールを続行。
unix> sh Build
(linux環境を収集、コンパイルの準備をする。
 この際、直下に新しいディレクトリを作成する)
unix> cd obj.Linux.2.0.36.i486
(システムにより、作成されるディレクトリ名はかわる)
unix> make install

CF の設定

 CFとは、sendmail の設定ファイルである、sendmail.cf を作成するためのツールです。CF の他にも、mailconf というツールもありますが、CF は、doc ディレクトリに日本語マニュアル(*.jpn)が付属しています。

バージョン情報

 CF-3.7W (1998/09/01)

入手方法

 ftp://ftp.kyoto.wide.ad.jp/mail/CF/
 ftp://ftp.iij.ad.jp/pub/network/sendmail/

インストール方法

unix> cd /usr/local/src/
unix> zcat ../pub/CF-3.7W.tar.gz | tar -xvf -

sendmail.cfの作成

まず、defファイル(sendmail.def)を作り。それをmakeします。
defファイルの記述については、簡易マニュアルを参照してください。

unix> cd /usr/local/src/
unix> cd CF-3.7W
unix> vi sendmail.def
unix> make sendmail.cf
unix> sendmail -Csendmail.cf -bt
unix> cp /etc/sendmail.cf /etc/sendmail.org
unix> cp sendmail.cf /etc/sendmail.cf

関連情報

 CF の 簡易マニュアル
 CF の マニュアル
 CF の readme ファイル

CFの定義ファイル

 ASHのCFの定義ファイルです。
  sendmail.def

メールサーバの動作確認方法

内部のメールの動作確認方法

自分自身にユーザ名だけを指定してメールを送信して確認
自分自身に正式名を指定してメールを送信して確認

外部とのメールの動作確認方法

nifty-serve などへメールを送信して確認
nifty-serve などからメールを送信して確認

メールの送信データの確認

  unix> sendmail -bp                    #メールキューの表示
  unix> ls -l /var/spool/mqueue/        #メールキューファイルの確認

メールの受信データの確認

  unix> ls -l /var/spool/mail/          #メール受信ファイルの確認

ログの状態の確認

  unix> tail -100 /var/log/syslog       #waringエラーの表示
  unix> tail -100 /var/log/messages     #infoエラーの表示

sendmail のプロセス状態の確認

  unix> ps -aux | grep sendmail

sendmail の単体動作確認

  unix> sendmail -bt
  > 0 root                              #内部の送信確認
  > 0 root@ash.jp                    #内部の送信確認(正式名)
  > 0 root@foo.co.jp                    #外部の送信確認(正式名)


Copyright (C)1995-2002 ASH multimedia lab.
mail : info@ash.jp