前回、sendmail 8.14.0 でうまくメールが送れないと言いましたが、その辺を説明します。長い行は適当に改行してあります。
/etc/syslog.conf を見ると、
ですから、何かメールを送って、/var/log/maillog を見てみます。
ちゃんと送られているようですが、実はこれはキューに入ったままで、実際の配送は行われずいつまで待っても /var/spool/mail に書き込まれません。/var/spool/mqueue のファイルを見ると、aliase ファイルがないからみたいです。sendmail.cf で、
となっていますから、適当に /etc/mail/aliases を作成します。
で、newaliase がうまくいきません。sendmail/map.c をみると、
というわけで、NEWDB か NDBM をコンパイル時に指定すれば解決みたいです。しかしデフォルトでそれがないということは、newaliases しなくても良いということです。データ量も小さいのでこれで OK です。
もう一度メールを送るとうまくいきました。/var/log/maillog は、次のようです。
sm-mta と表示されるのが最初の sendmail が出すメッセージです。
mail 本体のヘッダも見てみます。
送り手は、root@fedora.example.co.jp です。受け手は、espiya@fedora.example.co.jp で、たとえ espiya@www.example.co.jp に送っても書き換えられます。
以上でインストール完了です。次回、m4 の使い方を調べてから、sendmail.mc 周りで遊んでみたいと思っています。
/etc/syslog.conf を見ると、
# Log all the mail messages in one place. mail.* -/var/log/maillog
ですから、何かメールを送って、/var/log/maillog を見てみます。
$ Mail espiya@www.example.co.jp ........... # tail /var/log/maillog ........... Apr x xx:xx:xx fedora sendmail[7606]: l282UN7M007606: from=espiya, size=54, class=0, nrcpts=1, msgid=<2007xxxx0230.l282UN7M007606@fedora.example.co.jp>, relay=espiya@localhost Apr x xx:xx:xx fedora sm-mta[7607]: l282UNVB007607: from=<espiya@fedora.example.co.jp>, size=353, class=0, nrcpts=1, msgid=<2007xxxx0230.l282UN7M007606@fedora.example.co.jp>, proto=ESMTP, daemon=MTA, relay=localhost [127.0.0.1] Apr x xx:xx:xx fedora sm-mta[7607]: l282UNVB007607: to=<espiya@fedora.example.co.jp>, delay=00:00:00, mailer=local, pri=30353, stat=queued Apr x xx:xx:xx fedora sendmail[7606]: l282UN7M007606: to=espiya@www.example.co.jp, ctladdr=espiya (201/200), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30054, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (l282UNVB007607 Message accepted for delivery) #
ちゃんと送られているようですが、実はこれはキューに入ったままで、実際の配送は行われずいつまで待っても /var/spool/mail に書き込まれません。/var/spool/mqueue のファイルを見ると、aliase ファイルがないからみたいです。sendmail.cf で、
O AliasFile=/etc/mail/aliases
となっていますから、適当に /etc/mail/aliases を作成します。
# cat /etc/mail/aliases postmaster: root MAILER-DAEMON: postmaster abuse: postmaster postmaster: root root: espiya # # newaliases Cannot rebuild aliases: no database format defined Cannot create database for alias file /etc/mail/aliases #
で、newaliase がうまくいきません。sendmail/map.c をみると、
#if defined(NEWDB) || defined(NDBM) .............. #else /* defined(NEWDB) || defined(NDBM) */ if (mode != O_RDONLY) usrerr("Cannot rebuid aliases: no database format defined"); #endif /* defined(NEWDB) || defined(NDBM) */
というわけで、NEWDB か NDBM をコンパイル時に指定すれば解決みたいです。しかしデフォルトでそれがないということは、newaliases しなくても良いということです。データ量も小さいのでこれで OK です。
# /usr/sbin/sendmail -L sm-mta -bd -q1h # /usr/sbin/sendmail -L sm-msp-queue -Ac -q30m
もう一度メールを送るとうまくいきました。/var/log/maillog は、次のようです。
sm-mta と表示されるのが最初の sendmail が出すメッセージです。
Apr x xx:xx:37 fedora sendmail[8067]: l286NbM7008067: from=root, size=55, class=0, nrcpts=1, msgid=<2007xxxx0623.l286NbM7008067@fedora.example.co.jp>, relay=root@localhost Apr x xx:xx:38 fedora sm-mta[8068]: l286NcdY008068: from=<root@fedora.example.co.jp>, size=357, class=0, nrcpts=1, msgid=<2007xxxx0623.l286NbM7008067@fedora.example.co.jp>, proto=ESMTP, daemon=MTA, relay=localhost [127.0.0.1] Apr x xx:xx:38 fedora sendmail[8067]: l286NbM7008067: to=espiya@www.example.co.jp, ctladdr=root (0/0), delay=00:00:01, xdelay=00:00:01, mailer=relay, pri=30055, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (l286NcdY008068 Message accepted for delivery) Apr x xx:xx:38 fedora sm-mta[8069]: l286NcdY008068: to=<espiya@fedora.example.co.jp>, ctladdr=<root@fedora.example.co.jp> (0/0), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30580, dsn=2.0.0, stat=Sent
mail 本体のヘッダも見てみます。
From root@fedora.example.co.jp Thu Apr x xx:xx:xx 2007 Return-Path: <root@fedora.example.co.jp> Received: from fedora.example.co.jp (localhost [127.0.0.1]) by fedora.example.co.jp (8.14.0/8.14.0) with ESMTP id l286NcdY008068 for <espiya@fedora.example.co.jp>; Thu, x Apr 2007 xx:xx:xx +0900 Received: (from root@localhost) by fedora.example.co.jp (8.14.0/8.14.0/Submit) id l286NbM7008067 for espiya@www.example.co.jp; Thu, x Apr 2007 xx:xx:xx +0900 Date: Thu, x Apr 2007 xx:xx:xx +0900 From: root <root@fedora.example.co.jp> Message-Id: <2007xxxx0623.l286NbM7008067@fedora.example.co.jp> To: espiya@fedora.example.co.jp Subject: TEST Status: RO
送り手は、root@fedora.example.co.jp です。受け手は、espiya@fedora.example.co.jp で、たとえ espiya@www.example.co.jp に送っても書き換えられます。
以上でインストール完了です。次回、m4 の使い方を調べてから、sendmail.mc 周りで遊んでみたいと思っています。