[PREVIOUS CHAPTER]
[NEXT CHAPTER]
5 ヘッダのカスタマイズをする関数群
5.1 ヘッダフィールドの内容の強制
SYNOPSIS:
&DEFINE_FIELD_FORCED('field', "field-contents");
@HdrFieldsOrder 内で定義されているフィールドに対し、フィールドの内容を
強制操作します。なお
$Envelope{'fh:field:'} = "field-contents";
と同じです。
#obsolete ですがコマンドラインの --fh:field="field-contents" と同じ
例: X-Ml-Info: の内容を"書きたいこと"に設定する。
&DEFINE_FIELD_FORCED('x-ml-info', "書きたいこと");
&DEFINE_FIELD_FORCED('x-ml-info', "ML Information");
5.2 ヘッダフィールドを元メールのままにする
SYNOPSIS:
&DEFINE_FIELD_ORIGINAL('field');
@HdrFieldsOrder 内で定義されているフィールドに対し元々の値(MLサーバへ
入ってきた時のヘッダの値)にしておきたいフィールドを指定します。これは
$Envelope{'oh:field:'};
と同じです。
#obsoleteですが --oh:field (コマンドライン)と同じ
例: To:, Cc:, Reply-To: を元の内容のままにする。
&DEFINE_FIELD_ORIGINAL('to');
&DEFINE_FIELD_ORIGINAL('cc');
&DEFINE_FIELD_ORIGINAL('reply-to');
To: Cc: フィールドを元々の値のまま配送する。
5.3 ヘッダのフィールドを増やす or 減らす
&ADD_FIELD, &DELETE_FIELD という関数も用意しています。
例: X-Uja を付け加える。
&ADD_FIELD('X-Uja');
Cc: フィールドを“つけない”なら
&DELETE_FIELD('Cc');
ヘッダに現れる順番が重要な場合は @HdrFieldsOrder という配列を直接いじ
るしかありません。
例: 先頭に X-Some-Thing をつける
unshift(@HdrFieldsOrder, 'X-Some-Thing');
5.4 特定のヘッダ・フィールドのコピー
@HdrFieldsOrder 内で定義されているフィールドに対し、
where the field is one of fields defined in @HdrFieldsOrder.
©_FIELD(field, new-field);
Example:
©_FIELD('Sender', 'X-Sender');
[PREVIOUS CHAPTER]
[NEXT CHAPTER]