連載
» 2002年11月19日 00時00分 公開

実用qmailサーバ運用・管理術(最終回):qmailをより使いこなすTips(便利な小技編) (2/2)

[鶴長鎮一,@IT]
前のページへ 1|2       

qmailでもvacationツールを使いたい

 sendmailには、不在通知を自動で返送するvacationと呼ばれる仕組みが提供されています。qmailで同じようなことを実現したい場合は、Peter's Toolsのqmail-vacation(http://www.gormand.com.au/peters/tools/)を使用します。

 http://www.gormand.com.au/peters/tools/からqmail-vacation-1.4.tar.gzファイルをダウンロードし、適当な作業ディレクトリで展開します。

# tar xvfz qmail-vacation-1.4.tar.gz
# cd qmail-vacation-1.4
# cp Makefile.dist Makefile

 ここで、Makefileの次の個所を自分の環境に合わせて変更します。

TOP           = /usr/local/$(PACKAGE)-$(VERSION)
VACATION      = /usr/local/bin/vacation
PERL          = /usr/bin/perl
MBOX          = $$home/Maildir/ ←Mailboxの場合は不要

 Makefileを修正したらmakeしてインストールします。必要であれば/usr/local/binにリンクファイルを作成します。

# make
# make install
# ln -s /usr/local/qmail-vacation/bin/vacation /usr/local/bin/.

 /usr/local/qmail-vacation/bin/vacationを実行して不在通知機能を有効にします。設定は対話形式で行われるため、聞かれた質問に[y]か[n]をタイプして答えます。

日本語を使うには

 日本語の扱いには注意が必要です。不在通知を受け取る相手が日本語対応メーラを使用していることが前提なら、JISコードで「.vacation.msg」ファイルを作成することで対応できます。その際は、ヘッダにContent-typeを追加することを忘れないようにします。

From: ユーザー名 (via the vacation program) ←必要に応じて修正。このフィールドで日本語を使わないこと
Content-type: text/plain; charset=iso-2022-jp ←追加
Subject: away from my mail ←必要に応じて修正。このフィールドで日本語を使う場合はBase64やQuoted Printableでエンコードする必要がある

I will not be reading my mail for a while.
Your mail regarding "$SUBJECT" will be read when I return.
.vacation.msg
注:$SUBJECTは、相手のメッセージの件名をそのままコピーするため、これが日本語の場合は「=?ISO-2022-JP?B...」のようにエンコードされたものがそのまま表記されます。できれば$SUBJECTは削除しておきましょう。

 sendmail-vacationと同じく、同一senderへの不在メッセージ送信の抑制機能もあります。詳細は付属のマニュアルを参照してください。/usr/local/qmail-vacation/man/man1

にあるドキュメントをnroffで直接参照するか、manコマンドを使用します(manを使いたい場合は後述の「manでqmailのマニュアルを読みたい」を参照)。

 なお、既存のsendmail-vacationと混同しないように、実行時はフルパスで指定します。

qmailをより使いこなそう

メッセージがキューにとどまる期間を指定したい

 メッセージがキューにとどまる期間を指定することも可能です。/var/qmail/control/queuelifetimeファイルを作成して、保存期間(単位は秒)を指定します。デフォルトでは、60万4800秒(1週間)が指定されています。

259200
/var/qmail/control/queuelifetime
注:3日の場合。

SMTPのグリーティング・メッセージを変更したい

 SMTPサーバに直接telnetで接続すると、次のようになります。

$ telnet SMTPサーバ 25
Trying SMTPサーバ
Connected to localhost.
Escape character is '^]'.
220 グリーティング・メッセージ ESMTP
quit
221 グリーティング・メッセージ
Connection closed by foreign host.

 ここで表示されるグリーティング・メッセージは、デフォルトでは/var/qmail/control/meを表示します。変更しても直接目に触れることはありませんが、変更しておけば悪意のあるユーザーが接続した際に意表を突くことができるかもしれません。

 変更は、/var/qmail/control/smtpgreetingファイルで行います。

ホスト名 メッセージ
/var/qmail/control/smtpgreeting

 グリーティング・メッセージの1語目は、必ずホスト名を指定します。

受け取り確認付きメッセージに対応させるには

 メーラによっては、「Notice-Requested-Upon-Delivery-To」ヘッダを送信メッセージに付加することで、受け取り確認メール()を送信できます。ただし、Notice-Requested-Upon-Delivery-Toヘッダを使わない受け取り確認メッセージには対応できません。

注:受け取り確認メールはメッセージが相手に届いた際に処理されるもので、相手がメッセージを読んだときに処理される「開封確認」とは異なります。

 qmailでこの機能に対応するには、「.qmail」と「qreceipt」を使用します。受け取り確認機能を有効にしたいユーザーのホームディレクトリの.qmailファイルを編集します。

./Maildir/
|qreceipt ユーザーのメールアドレス
.qmail

 1行目の「./Maildir/」を忘れると、ユーザーにメールが届かなくなるので注意が必要です。

参考:
Notice-Requested-Upon-Delivery-To (NRUDT) D. J. Bernstein,
http://cr.yp.to/proto/nrudt.txt

manでqmailのマニュアルを読みたい

 通常、UNIXのコマンドやファイルの使用方法はmanコマンドで参照できます。しかし、パッケージを追加インストールした場合などはmanファイルが用意されているにもかかわらず、manコマンドで参照できない場合があります。それは、manが参照するディレクトリがシステムで規定されているにもかかわらず、そこ以外の場所にmanファイルがインストールされているためです。そのような場合は、「No manual entry for XXX」のようなメッセージが返ってきます。

 こうしたファイルをmanで参照できるようにするには、/etc/man.configファイル()を編集します。

注:ディストリビューションによっては、man.confやmanpath.configの場合もあります。

 qmailの場合は/var/qmail/manにマニュアルがインストールされます。これをmanで参照できるようにするには、次のようにします。

MANPATH /var/qmail/man ←追加
/etc/man.config

 また、MANPATH変数を指定することで、一時的にmanを使えるようにすることも可能です。

export MANPATH="$MANPATH":/manへのPATH
Bシェル系の場合

setenv MANPATH "$MANPATH":/manへのPATH
Cシェル系の場合

qmailにまつわる疑問

qmailはIPv6に対応しているのか?

 qmailをIPv6対応にするにはパッチを当てる必要があります。下記のページでパッチファイルを入手してインストールします。

fujiwara's page
http://pyon.org/fujiwara/

 SMTPサーバをIPv6で運用するには、qmail以外にtcpserverなどのアドインツールもIPv6化する必要があります。tcpserverではなく、xinetdやTCP Wrapperを使う方法もあります。

qmailにはDNS周りにバグがあると聞いたが?

 qmailは512bytes以上のサイズのDNS返答パケットが扱えないため、送信が滞ります。ただ、512bytes以上のホスト名というものが大変まれであり、通常はこの範囲で扱えるので「バグ」かどうかの判断は難しいところです。気になる場合は、修正パッチを利用しましょう。

アドインツールもRPMでインストールできる?

 いくつかのツールはhttp://www.qmail.org/rpms/qmail-addons/で見つかります。ツールの作者自身がRPMファイルを提供している場合もあります。また、以下のようなRPMファイル検索サイトも利用できます。

RPM PBone Search
http://rpm.pbone.net/
Rpmfind
http://rpmfind.net/
Linux Japanese RPM Project
http://www.linux.or.jp/jrpm/rpms/

メール管理者の苦労はまだまだ続く

 1年間続いた本連載も今回が最終回です。雑誌のたぐいであれば「1年間お付き合いいただきありがとうございました。……」と続くところですが、最近このページを知った方も多いと思います。もしかしたら初めて見たページが最終回だったという方もいるでしょう。順番にとらわれず、読みたいところが読めるというのがオンライン掲載のメリットです。通読の必要もなく、検索エンジンで該当したページだけを見ていただき、それが何かの参考になれば、提供者としてこのうえない幸せです。

 連載が始まった当時は「qmail」と冠した書籍を見かけることはまれでしたが、最近は数種類の書籍が書店に常時置かれていることも珍しくありません。こうしたことからも、インターネットの常時接続化やホスティングサービスの一般化で、メールサーバを立ち上げたいという要望が多くなってきていることがうかがえます。1社に1ドメインから、1社に1メールサーバといわれる日も遠くないかもしれません(そのときはSMTP機能付きブロードバンドルータというのもお目見えしそうです)。

 そうなると、個人が1日に受け取るメールの数も増え、メールに対する認識も違ったものになるでしょう。広告メールは無視するのが当然となり、貴重だと思っていた特定会員向けの情報すら単なる広告に感じられたりするでしょう(すでに携帯電話のメールがそうなのかもしれませんが)。

 @ITに2002年8月に掲載されたSpencer F. Kattの悪質化するスパム対策に一句?には、spamメールに対する解決策を提供するサービスが試みられていることが書かれています。この中に「スパムを特定するのではなく、必要なメールを特定することにしたのね」というハベアス社のアン・ミッチェル氏の言葉があります。この言葉が象徴するように、われわれのメールの読み方は「必要なものから要らないものを省く」作業から「必要なものをゴミの山から見つける」作業へと変化しています。それは情報はんらん社会といわれる現在の情勢をそのままメールに置き換えただけのことですが……(画像を表示できなかったMosaicを使っていたころに電子メールを覚えた世代には少々の寂しさもあります)。

 そんな来るべき世の中を支える基盤がメールサービスにもあることを考えると、メール管理者である皆さんも心が引き締まるものを感じると思います。そんな皆さんに少しでもお役に立っていることを願って、本連載の結びとしたいと思います。読者の皆さん、ありがとうございました()。

注:qmailに関する質問は、引き続きLinux Square会議室にお寄せください。時間がある限り回答させていただきたいと思います。

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。