ここではEximの設定ファイルのフォーマット・文法などについての説明しよう.
Eximの設定ファイルは以下の7パートに分かれている(Eximのマニュアルでは6パートとして説明しているけども,7パートと考えた方が分かりやすい).
これらのパートの順番は,1が一番最初にある必要があるが,ほかの順番は特にどうでもよい.2〜7のパートは,begin〜という分から始まり,次のbegin〜で終わる.例えばACLのパートは
begin acl |
という行から始まるわけだ.あとはそれぞれのパートの詳細を順に説明していこう.
ここは要は先頭から最初のbegin〜までである.ここで色々マクロを設定しておいて,それを以下のパートでよろしく利用する,って訳だ.先の設定のところで設定した"primary_hostname"とかがそのマクロ.これに入っている値をもとにして,後の方で自分宛のメールとかMessage-Idに利用するのよ.
このマクロ設定するときの注意点だけど,このマクロは単純置換的に動作する.つまり,あるマクロを定義したら,その定義に従って以下の設定ファイルの内容を順次置換してってしまう.つまり,
ABCD = 1234 |
という様に記述すると,最初のABCDが定義された時点で設定ファイル内のその後の"ABCD"という文字列が単純に"123"に置換されてしまう,なので,この記述は結局以下のような形で解釈されてしまうんだ.
ABCD = 1234 |
なんでこういう風に一部文字列がダブるマクロは,長い方を先に書いておこう.
ABCD_XYZ = 5678 ABCD = 1234
|
こうしておけば,最初の"ABCD_XYZ"が定義されても,次の"ABCD"は置換されない.
ほかには,一つのマクロに複数の価のリストを定義することができる.例えば許可するドメインやホストなんてのは一つで済むわけではないので,リストとして定義できれば便利なわけだ.リストにしたい場合は,一個一個の価をコロン(:)で区切って代入していく."ABCD"というマクロにentry1とentry2とentry3という3つからなるリストを定義したければ
ABCD = entry1 : entry2 : entry3 |
と言うようになる.他にも
ワイルドカード
|
とか指定できる.