[PREVIOUS CHAPTER]
[NEXT CHAPTER]
2 Examples
2.1 Send back $DIR/uja for anyone
1 requests from anyone are O.K.
2 keyword "uja" in the mail body to send back the file "uja".
$START_HOOK = q#
$UJA_FILE = "$DIR/uja";
if ($Envelope{'Body'} =~ /^[\n\s]*\#\s*uja/) {
&SendFile($Envelope{'Addr2Reply:'}, "UJA $ML_FN", $UJA_FILE);
&Log("UJA");
$DO_NOTHING = 1;
}
#;
2.2 Automatic Replay Server
Please set a file to $GUIDE_FILE in config.ph and set up $START_HOOK
in the following hook:
$START_HOOK = q#
&SendFile($From_address, "Guide $ML_FN", $GUIDE_FILE);
&Log("Guide request from $From_address");
$DO_NOTHING = 1;
#;
2.3 make a new command what send back a file
E.g. "news" command is to send back $DIR/news file.
In config.ph
%LocalProcedure = (
# help for usage of commands
'news', 'ProcFileSendBack',
'#news', "$DIR/news",
);
2.4 get some files by not "get" commands
get-SOMETHING gets file in SOMETHING directory.
%LocalProcedure = (
'get-spool', 'mySendFile', # $DIR/spool
'get-archive', 'mySendFile', # $DIR/archive
'get-etc', 'mySendFile', # $DIR/etc
);
sub mySendFile
{
local($proc, *Fld, *e, *misc) = @_;
if ($proc =~ /^get-([a-z]+)$/io) {
local($dir) = $1;
if (-f "$dir/$Fld[2]") {
&SendFile($to, "Get $dir/$Fld[2] $ML_FN", "$dir/$Fld[2]");
}
}
}
2.5 you gets back article 100 in MIME/multipart format by "get 100" command
A: always identify "get" and "mget" commands internally.
append it to config.ph.
$MGET_MODE_DEFAULT = "mp";
%LocalProcedure = ('get', 'ProcMgetMakeList');
(fml-support: 06997)
[PREVIOUS CHAPTER]
[NEXT CHAPTER]