nullmailer (A sendmail/qmail/etc replacement MTA)

[ 戻る | トップページに戻る ]

概要

nullmailer とは、メール送信機能だけが欲しい場合に sendmail のような 重いデーモンの代りに使う軽量の null mail client 。 再送用のキュー管理もしてくれる。

URL

http://untroubled.org/nullmailer/

インストール環境

Plamo Linux 2.2.1 (Kernel 2.2.19 + glibc 2.2)
Solaris 8 (SPARC)

必要なもの

特になし

バージョン

1.00RC5

インストール手順

$ tar xvfz nullmailer-1.00RC5.tar.gz
$ cd nullmailer-1.00RC5/
$ ./configure
$ make
(snip)
c++ -DHAVE_CONFIG_H -I. -I. -I..     -g -O2 -fno-rtti -fno-exceptions -W -Wall -c itoa.cc
c++ -DHAVE_CONFIG_H -I. -I. -I..     -g -O2 -fno-rtti -fno-exceptions -W -Wall -c makefield.cc
makefield.cc: In function `class mystring make_date()':
makefield.cc:32: implicit declaration of function `int time(...)'
makefield.cc:33: implicit declaration of function `int localtime(...)'
makefield.cc:33: initialization to `tm *' from `int' lacks a cast
makefield.cc:34: implicit declaration of function `int strftime(...)'
makefield.cc:36: invalid use of undefined type `struct tm'
makefield.cc:33: forward declaration of `struct tm'
make[3]: *** [makefield.o] エラー 1
make[3]: 出ます ディレクトリ `/usr/local/src/nullmailer-1.00RC5/lib'
make[2]: *** [all-recursive] エラー 1
make[2]: 出ます ディレクトリ `/usr/local/src/nullmailer-1.00RC5/lib'
make[1]: *** [all-recursive] エラー 1
make[1]: 出ます ディレクトリ `/usr/local/src/nullmailer-1.00RC5'
make: *** [all-recursive-am] エラー 2

ヘッダファイルが抜けているようなので、./lib/makefield.cc を以下のように 修正する。
#include "config.h"
#include "defines.h"
#include <time.h>       <--- 追加
#include <sys/time.h>
#include <unistd.h>
#include "itoa.h"
#include "mystring/mystring.h"

mystring make_date()
{
  char buf[256];
  time_t t = time(0);

では作業再開。
$ make
$ make check
$ su
# make install

最後に、nullmail ユーザを作成し、nullmail グループに所属させる。 この状態で make install-root を実行するとパーミッション等が適切に設定される。
# make install-root
chown nullmail /usr/local/var/nullmailer/*
chown nullmail /usr/local/sbin/nullmailer-queue
chmod u+s /usr/local/sbin/nullmailer-queue
chown nullmail /usr/local/bin/mailq
chmod u+s /usr/local/bin/mailq
# exit

次に設定。/usr/local/etc/nullmailer/remotes に以下の一行を記述。
<中継用 SMTP サーバの FQDN or IP アドレス> smtp

あとは、起動用スクリプト (下記:参考例) を作成しておしまい。
#! /bin/sh
su - nullmail -c "/usr/local/sbin/nullmailer-send 2> /dev/null 1> /dev/null &"

[ 戻る | トップページに戻る ]