メンテナンス・トラブルシュート - メールサーバ - procmail - 基本設定


 クラウディア


1. 概要
2. 基本的な転送設定
3. 主な環境変数

1. 概要

 前ページの設定でまずは ~/.procmailrc を作成して下記のように記述しているはずです。

PATH=/usr/bin:/usr/local/bin
MAILDIR=$HOME/Maildir/
DEFAULT=$MAILDIR
 ここでは、「~/.procmailrc」に書いていく転送設定について記述します。  「procmail」では、転送設定に関する記述を「レシピ」と言います。  この中で「レシピ」という言葉を使っているときはこれを指します。

2. 基本的な転送設定

 「foo@hogehoge.jp」来たメールを「bar@fugafua.jp」へ転送するには、以下のように記述します。

#   foo@hogehoge.jp から来たら bar@fugafua.jp に転送するのだ
0:
* ^From:.*foo\@hogehoge\.jp.*
! bar@fugafua.jp
 おなじみ、行頭の「#」はコメント行になります。  コメントは、コメント行のみで、レシピを記述している行の途中に「#」を記述する場合、その後ろがコメントになるのではなくと「#」何らかの意味をあらわすものになるので注意が必要です。

0:
 「0:」はこの行からレシピの記述がはじまるという意味です。  「0:」から次の「0:」かファイルの終端がくるまでが1つのレシピとなります。

* ^From:.*foo\@hogehoge\.jp.*
 の先頭の「*」はこの行が条件文であることを意味します。  「^From」は行頭が「From」という意味でメールヘッダについてご存知ならすぐわかるかと思います。  「^」を含めここの文は、正規表現を使用しています。procmail> の正規表現については「別稿」で簡単に説明しています。

! bar@fugafua.jp
 の先頭の「!」はこの行で示すメールアドレスにメールを転送することを意味します。メールアドレスはスペースで区切って、複数アドレスを列挙可能です。  こちらは正規表現でなく、生のメールアドレスで記述します。  この行の先頭に「!」をつけず、「/dev/null」とした場合、メールはどこにも転送も保存もされず、消えてなくなります。

3. 主な環境変数

 わたしが使用している、主な環境変数をあげておきます。
環境変数 意    味
DEFAULT どのレシピにも適合しなかった場合に格納する先を記述します。
通常は DEFAULT=$MAILDIR と記述します。
INCLUDERC他のファイルの記述をインクルードすることができます。
共通的な設定を使用するときに便利です。
INCLUDERC=ファイル名 と記述します。
LOGFILE 処理内容のログをファイルに出力するときに LOGFILE=ファイル名 の型式で記述します。
MAILDIR メールディレクトリの指定です。
qmail の場合、通常は MAILDIR=$HOME/Maildir/ と記述することになります。
VERBOSE ログの内容を詳細に出力する際 VERBOSE=on と記述します。デフォルトは off です。


earthcar(アースカー)