メンテナンス・トラブルシュート - メールサーバ - procmail - 基本設定
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. 主な環境変数 わたしが使用している、主な環境変数をあげておきます。
「FreeBSD 12.0 RELEASE - メールサーバ qmail」 「FreeBSD 11.3 RELEASE - メールサーバ qmail」 「FreeBSD 12.1 RELEASE - メールサーバ qmail」
PATH=/usr/bin:/usr/local/bin MAILDIR=$HOME/Maildir/ DEFAULT=$MAILDIR
# foo@hogehoge.jp から来たら bar@fugafua.jp に転送するのだ 0: * ^From:.*foo\@hogehoge\.jp.* ! bar@fugafua.jp
0:
* ^From:.*foo\@hogehoge\.jp.*
! bar@fugafua.jp