Last modified: Sun, 02/26/2006 12:12

Exim設定ファイル詳細

 ここではEximの設定ファイルのフォーマット・文法などについての説明しよう.

設定ファイル構成

 Eximの設定ファイルは以下の7パートに分かれている(Eximのマニュアルでは6パートとして説明しているけども,7パートと考えた方が分かりやすい).

  1. マクロ定義
  2. ACL
  3. authenticators
  4. routers
  5. transports
  6. retry
  7. rewrite

 これらのパートの順番は,1が一番最初にある必要があるが,ほかの順番は特にどうでもよい.2〜7のパートは,begin〜という分から始まり,次のbegin〜で終わる.例えばACLのパートは

begin acl

という行から始まるわけだ.あとはそれぞれのパートの詳細を順に説明していこう.

マクロ定義パート

 ここは要は先頭から最初のbegin〜までである.ここで色々マクロを設定しておいて,それを以下のパートでよろしく利用する,って訳だ.先の設定のところで設定した"primary_hostname"とかがそのマクロ.これに入っている値をもとにして,後の方で自分宛のメールとかMessage-Idに利用するのよ.

 このマクロ設定するときの注意点だけど,このマクロは単純置換的に動作する.つまり,あるマクロを定義したら,その定義に従って以下の設定ファイルの内容を順次置換してってしまう.つまり,

ABCD = 1234
ABCD_XYZ = 5678

という様に記述すると,最初のABCDが定義された時点で設定ファイル内のその後の"ABCD"という文字列が単純に"123"に置換されてしまう,なので,この記述は結局以下のような形で解釈されてしまうんだ.

ABCD = 1234
1234_XYZ = 5678

なんでこういう風に一部文字列がダブるマクロは,長い方を先に書いておこう.

ABCD_XYZ = 5678
ABCD = 1234

こうしておけば,最初の"ABCD_XYZ"が定義されても,次の"ABCD"は置換されない.

 ほかには,一つのマクロに複数の価のリストを定義することができる.例えば許可するドメインやホストなんてのは一つで済むわけではないので,リストとして定義できれば便利なわけだ.リストにしたい場合は,一個一個の価をコロン(:)で区切って代入していく."ABCD"というマクロにentry1とentry2とentry3という3つからなるリストを定義したければ

ABCD = entry1 : entry2 : entry3

と言うようになる.他にも

ワイルドカード
ABCD = a.b.c : *.example.com

除外
ABCD = !example.com

とか指定できる.


←へ設定のチェックへ To be writtenへ→
色々技術メモページに戻る
石田 翼のホームページに戻る

Copyright (C) 1997-2002
ISHIDA, Tsubasa <tbs-i@mtg.biglobe.ne.jp>
All rights reserved