メールシステムの管理

メール待ち行列の管理

この節では、メールサービスをスムーズに動作させる方法について説明します。

待ち行列を印刷する方法

待ち行列の内容は mailq で印刷できます。このコマンドは sendmail-bp フラグを指定するのと同じです。

    /usr/bin/mailq | more と入力して Return キーを押します。

待ち行列 ID のリスト、メッセージのサイズ、メッセージが待ち行列に入れられた日付、メッセージの状態、および発信者と受信者が表示されます。

待ち行列を強制処理する方法

    /usr/lib/sendmail -q -v と入力して Return キーを押します。

これで待ち行列の処理が強制的に行われ、待ち行列の処理中にジョブの進行状況が表示されます。

メール待ち行列のサブセットを実行する方法

    /usr/lib/sendmail -qRstring と入力して Return キーを押します。

-qRstring (どれかの受信者名が string に一致する場合に待ち行列を実行) または -qInnnnn (待ち行列 IDnnnnn の 1 つのメッセージを実行) でいつでも待ち行列のサブセットを実行できます。string はホスト名とも一致することができるので、user@host.domain のサブ文字列も一致します。

この例では、受信者 wnj の待ち行列にあるものをすべて処理します。


# /usr/lib/sendmail -qRwnj

待ち行列を移動する方法

  1. メールホストでスーパーユーザーになります。

  2. /etc/init.d/sendmail stop と入力して Return キーを押します。

    これで古い sendmail デーモンは削除されるので、古い待ち行列ディレクトリが処理されることはありません。

  3. cd /var/spool と入力して Return キーを押します。

  4. mv mqueue omqueue; mkdir mqueue と入力して Return キーを押します。

    これでディレクトリの mqueue とその内容のすべてが omqueue ディレクトリに移動し、新規の空の Rmqueue ディレクトリを作成します。

  5. chmod 755 mqueue; chown daemon.daemon mqueue と入力して Return キーを押します。

    これらのコマンドでディレクトリのアクセス権を設定し、所有者による読み込み、書き込み、実行、グループや、他のユーザーによる読み込み、実行が行えるようにします。またこれらのコマンドでは、所有者やグループを daemon に設定します。

  6. /etc/init.d/sendmail start と入力し Return キーを押します。

    これで新規 sendmail デーモンが起動します。

古いメール待ち行列を処理する方法

  1. /usr/lib/sendmail -oQ/var/spool/omqueue -q と入力して Return キーを押します。

    -oQ フラグは代替待ち行列ディレクトリを指定し、-q フラグは待ち行列での各ジョブを処理するように指示します。詳細 (verbose) 表示にしたい場合は、-v フラグを使用します。

  2. 待ち行列が最後に空になったら、rmdir /var/spool/omqueue と入力して Return キーを押します。

    これにより空のディレクトリが削除されます。