[PREVIOUS CHAPTER]
[NEXT CHAPTER]
2 ユーザがHOOKなどで安全に使える関数
2.1 ヘッダ関係の操作
GET_HEADER_FIELD_VALUE( header_field )
現在の値を取り出す。
GET_ORIGINAL_HEADER_FIELD_VALUE( header_field )
fml が最初にメールを受けとった時の元々の値を取り出す。
SET_HEADER_FIELD_VALUE( header_field , value )
前述の GET_HEADER_FILED_VALUE() の対称性のために作った関数。
ヘッダフィールドの値を特定にものにする。
ようは DEFINE_FIELD_FORCED() と一緒だけど
もうちょっと汎用的
2.2 %Envelope の操作
GET_ENVELOPE_VALUE( hash_key )
%Envelope ハッシュのあるキーの値を取り出す
SET_ENVELOPE_VALUE( hash_key, value )
%Envelope ハッシュのあるキーの値を設定する or 上書きする。
ENVELOPE_APPEND( hash_key, value )
%Envelope ハッシュのあるキーに値をつけたす。
つまり現在の内容の後にいれる。
ENVELOPE_PREPEND( hash_key, value )
%Envelope ハッシュのあるキーに値をつけたすが、現在の内容の
直前に挿入する。
2.3 ファイルを読む
GET_BUFFER_FROM_FILE( file )
ファイルを読んで来てその値を返す。
大きなファイルは読まない方がいいとおもうぞ
$s = &GET_BUFFER_FROM_FILE( "$DIR/xxx" );
2.4 これらの関数を使う例 (本文へ注意をつけたす)
(2000/06/05 以降の fml-current)
$START_HOOK = q#
my ($s) = &GET_BUFFER_FROM_FILE("$DIR/info");
&ENVELOPE_APPEND('Body', &STR2JIS($s));
#;
ここで $DIR/info は /var/spool/ml/elena/info に展開される。
/var/spool/ml/elena/info というファイルを作りこの中に
◯◯◯ MLの抜け方は ……… です。
などと書いておきます。過去のリリース、fml-stable および 2000/06 以前の
current では %Envelope を直接いじってください。
[PREVIOUS CHAPTER]
[NEXT CHAPTER]