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

クラウディア 
1. 概要
2. 基本的な転送設定
3. 主な環境変数

1. 概要

 「procmail」の具体的な設置方法については「FreeBSD」の各 RELEASE ごとのメールサーバの項をお読みください。
FreeBSD 12.0 RELEASE - メールサーバ qmail」
「FreeBSD 11.3 RELEASE - メールサーバ qmail」
「FreeBSD 12.1 RELEASE - メールサーバ qmail
 上記の設定でまずは ~/.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 です。

ハイスピードプラン