アドレス書き換えプロセスは、アドレスの最初のホストまたはドメイン仕様を抽出することから始まります。次の説明をより理解するために、RFC 822 アドレスルールについて把握しておくことをお勧めします。アドレス内のホストまたはドメイン仕様が検索される順序は、以下のとおりです。
ソースルートのホスト (左から右へ読み取り)
アットマーク @ の右側にあるホスト
最後のパーセント記号 % の右側にあるホスト
最初の感嘆符 ! の左側にあるホスト
最後の 2 項目の順序は、アドレスの書き換えを行なっているチャネルで bangoverpercent キーワードが有効になっているかどうかによって入れ替わります。すなわち、メッセージをキューに入れようとしているチャネルが bangoverpercent チャネルキーワードでマークされているかどうかによって順序が異なります。
表 11–3 に、アドレスと最初に抽出されるホスト名の例を示します。
表 11–3 抽出されるアドレスとホスト名
アドレス |
最初のホストドメイン仕様 |
コメント |
---|---|---|
user@a |
a |
「省略形」のドメイン名。 |
user@a.b.c |
a.b.c | |
user@[0.1.2.3] |
[0.1.2.3] |
「ドメインリテラル」 |
@a:user@b.c.d |
a | |
@a.b.c:user@d.e.f |
a.b.c |
ソースルートアドレス: ルート部分は完全形。 |
@[0.1.2.3]:user@d.e.f |
[0.1.2.3] |
ソースルートアドレス: ルート部分はドメインリテラル。 |
@a,@b,@c:user@d.e.f |
a |
a-> b -> c ルーティングを伴ったソースルートアドレス。 |
@a,@[0.1.2.3]:user@b |
a |
ルート部分にドメインリテラルを伴ったソースルートアドレス。 |
user%A@B |
B | |
user%A |
A | |
user%A%B |
B | |
user%%A%B |
B | |
A!user |
A |
「bang-style」のアドレス。UUCP によく使用されます。 |
A!user@B |
B | |
A!user%B@C |
C | |
A!user%B |
B | |
A!user%B |
A |
RFC 822 には、アドレスにおける感嘆符 (!) およびパーセント記号 (%) の解釈が含まれていません。慣例上、パーセント記号はアットマーク (@) と同じように解釈されます (アットマークがない場合)。
パーセント記号をローカルユーザー名の一部として扱うために、繰り返しパーセント記号の解釈が使用されます。これは、外部メールシステムのアドレスを処理するような場合に便利です。感嘆符の解釈は、RFC 976 の「bang-style」アドレスルールに従います。この解釈により、Messaging Server MTA で UUCP アドレスを使用することが可能になります。
これらの解釈の順序については、RFC 822 または RFC 976 のどちらにも指定されていません。そのため、bangoverpercent および nobangoverpercent キーワードを使って、書き換えを行うチャネルによって解釈が適用される順序を制御します。デフォルト設定がより「標準的」ですが、状況によっては代わりの設定を使った方が便利な場合もあります。
アドレス内に感嘆符 (!) やパーセント記号 (%) を使用することはお勧めしません。