(2003.11.3新規作成, 2005.9.18更新)
WebアプリケーションやCGIプログラムをつくるとき、メールを送信したい場合がよくある。
解説書でよく見かけるのはSMTPサーバに接続してメールを送信するものだが、ネットワークを経由するとネットワークの状態やメールサーバの状態によっては美味くいかないことがある。
Webサーバにメール送信プログラムをインストールして、Webアプリケーションからはパイプでデータを送るほうがいい。リトライの必要があれば、そのメール送信プログラムがやってくれる。
以下、そういう用途のために、qmailをインストールする。
qmailのオリジナル版は、以下で配布されている。最新版はバージョン1.03。
しかし、D.J.Bernsteinによるメンテナンスはされておらず、今はそのままではコンパイルできない。小さなパッチを組み合わせて今のシステムで使えるようにしたnetqmail、あるいはLinuxディストリビューションが提供するパッケージを使ったほうがいい。
(1) 2007年1月現在のnetqmailはバージョン1.05で、下記から入手できる。
ダウンロードしたら、アーカイブを展開して、collate.sh を実行する。これでパッチが当たった状態になる。
(2) あるいは、debianが提供するパッケージを使ってもいい。
インストール先は、conf-qmailファイルにある。/var/qmailのままで問題ない。
コンパイラはconf-cc、リンカはconf-ldファイルで設定する。gccを使うように修正する。
さらに、makeの前にユーザーを追加しておく必要がある。作成すべきグループ名はconf-groupsファイル、ユーザー名はconf-usersファイルにある。
debianパッケージでは、グループ名はnogroupになっている。
# mkdir /var/qmail # /usr/sbin/groupadd qmail # /usr/sbin/groupadd nofiles # /usr/sbin/useradd alias -g nofiles -d /var/qmail/alias -s /sbin/nologin # /usr/sbin/useradd qmaild -g nofiles -d /var/qmail -s /sbin/nologin # /usr/sbin/useradd qmaill -g nofiles -d /var/qmail -s /sbin/nologin # /usr/sbin/useradd qmailp -g nofiles -d /var/qmail -s /sbin/nologin # /usr/sbin/useradd qmailq -g qmail -d /var/qmail -s /sbin/nologin # /usr/sbin/useradd qmailr -g qmail -d /var/qmail -s /sbin/nologin # /usr/sbin/useradd qmails -g qmail -d /var/qmail -s /sbin/nologin
コンパイル、インストールする。
$ make $ su # make setup check
設定を行う。config-fastコマンドで行う。メールサーバーのFQDNを引数として指定する。
# ./config-fast foo.bar.examples
起動スクリプトを作成する。/var/qmail/bootディレクトリにサンプルスクリプトが幾つかある。
# cp /var/qmail/boot/home /var/qmail/run
起動する。daemontoolsを使う。daemontoolsのインストール方法、使い方は、daemontoolsを使うを参照。
# ln -s /var/qmail /service/qmail
しばらく待って、動いているか確認する。
# svstat /service/qmail /service/qmail: up (pid 3493) 11 seconds
Netsphere Laboratories http://www.nslabs.jp/
[PR]