BBS水木清华站∶精华区
Helpful features of Elm
Elm 的 ``features" 有很多,譬如:删除 ``junk mail" 可用 ``filter", 制作表格
可用 ``form", 读其它格式的档可利用 Metamail 的功能,对信 件设密码可用编码的
功能等,可以说是非常的多样化。本章将对上述各项功 能一一作说明。
How to filter out unimportant mails?
使用电子邮件系统的您是否为收到过多的 ``junk mail" 或因为邮件过 多无法确
定该由何处读起而烦恼? Elm 的 filter 程式就是针对以上的问题 而设计的。
使用 filter 时必须先在签入(login)目录的 ``.forward" 档中 加入
``|/usr/local/bin/filter",才能启动它的功能。 要达到过滤掉不必 要的
``junk mail" 和挑出重要邮件来阅读, 必须透过 filter 规则(rules), 而这些
规则要存於 ``.elm" 目录下的 ``filter-rules" 档中。Filter 的法 则架构如
下:
if (condition) then action
condition 可以是 field relationship value
或是 lines relop numvalue 或 always
field 可以是 from, subject, to, lines, 或 sender
relationship 可以是 □□ ! relop
可以是 □<, >, <□□ > value 可以是任何字串
numvalue 可以是任何整数
action 可以是:
delete 删除邮件
save foldername 存一份复本到指定的 folder 中
savecopy foldername 除了在 folder 中存放复本,同时也在信
箱中存放复本
execute command 执行所指定的命令
executec command 执行指定命令外,还存一复本到信箱中
forward address 寄信到指定的地址
forwardc address 寄信到指定的地址外,还存一复本到信箱中
leave 将邮件存於信箱中
以下举例说明 ``filter-rules" 的用法。
(1) if (subject matches /([a-z]+) a ([a-z]+)/) then executec
"touch \"/home/usr/xx/1%&\"; touch /home/usr/xx/2%1;
touch /home/usr/xx/3%2"
凡主题中有 a, 且 a 的前後字串为 "a-z" 之间任意字母开头或结尾的信件,
都会执行 "touch" 指令,并且将 a 前後的字串(包含 a)
存於 "/home/usr/xx/1" 目录下,a 前面的字串存於 "/home/usr/xx/2" 目录下,
a 後面的字串存於 "/home/usr/xx/3" 目录下。
附注: 有关 Regular Expression 方面的资料,可参考本中心 ASPAC 计划所出
版编号 94019 的技术报告。
该文件取得方法如下:
(1) ftp 至 phi.sinica.edu.tw。
(2) 以 anonymous 进入帐号。
(3) cd /pub/aspac/doc/94。
(4) 档案名称为 94019.ps, 94019.zip 或 94019.ps.gz。
(2) subject contains "mime" ? save "~/elm-mail/mime"
凡主题含有 "mime" 的信件,都存到次目录 "elm-mail" 下的 "mime" 档案。
(3) subject contains "forward" ? forward "abc@ccvax.sinica.edu.tw"
凡主题含有 "forward" 的信件,都会转给在 "ccvax.sinica.edu.tw" 中的
"abc" 使用者。
(4) subject contains "bingo" ? executec "pwd >> /home/usr/xx/bingo"
凡主题含有 "bingo" 的信件,会先执行 "pwd" 指令,然後存档於
"/home/usr/xx" 目录下的 "bingo" 档案;并显示於 "Mailbox" 的画面中。
(5) subject contains "hello" ? execute "pwd >> /home/usr/xx/hello"
凡主题含有 "hello" 的信件,会先执行 "pwd" 指令,然後存档於
"/home/usr/xx" 目录下的 "hello" 档案。但并不显示於 "Mailbox" 的画面中。
(6) from contains "ccvax" ? delete
凡是以 "ccvax" 开头寄来的信件,都会被删除。
如何检验 ``规则" 的正确性? 只要键入 ``filter -r",若是 "规则" 正确,就
会出现下列讯息:
Rule 1: if (subject ~ /([a-z]+) a ([a-z]+)/) then
Execute and Save touch "/home/usr/xx/1<match>"; touch /home/usr/xx/2<submatch-1>; touch /home/usr/xx/3<submatch-2>
Rule 2:Rule 2: if (subject □ime") then|
Save ~/elm-mail/xxa
Rule 3: if (subject □orward") then
Forward abc@ccvax.sinica.edu.tw
Rule 4: if (subject □ingo") then
Execute and Save pwd >> /home/usr/xx/bingo
Rule 5: if (subject □ello") then
Save pwd >> /home/usr/xx/hello
Rule 6: if (from □cvax") then
Delete
如何看摘要档?
若过滤成功,只要键入 ``filter -s",就可显示执行结果。
如:
A Summary of Filter Acativity
-------------------------------
A total of 3 messagess were filtered:
Mail from jenny about hello
SAVED in file "/home/usr/jenny/Mail/elm-incoming" by rule #1
Mail from jenny about meeting on Friday
(addressed to jenny (Jenny Tai))
SAVED in file "/home/usr/jenny/Mail/test.25" by rule #3
Mail from JENNY@ccvax.sinica.edu.tw about abc
DELETED by rule #2
若键入 "filter -S",则先显示"规则",再列出执行结果。 如:
A Summary of Filter Activity
----------------------------
A total of 3 messages were filtered:
Rule #1: (save in "~/Mail/elm-incoming")
applied 1 time (33%)
Rule #2: (delete message)
applied 1 time (33%)
Rule #3: (save in "~/Mail/test.%d")
applied 1 time (33%)
Explicit log of each action;
Mail from jenny about hello
SAVED in file "/home/usr/jenny/Mail/elm-incoming" by rule #1
Mail from jenny about meeting on Friday
(addressed to jenny (Jenny Tai))
SAVED in file "/home/usr/jenny/Mail/test.25" by rule #3
Mail from JENNY@ccvax.sinica.edu.tw about abc
DELETED by rule #2
参考文件:
1. Elm Filter System Guide
2. Manual pages 的 Filter
How to make forms?
表格制定最主要的目的就是将一个设计好的表格传给使用者,待其 填妥後将表格
寄回,以利行政作业。其步骤如下:
1. 在主画面中选取 "mail",做送信的动作
2. 制定表格的格式
表格的内容,可分为以下三大部份:
[OPTIONS-SECTION] <--- 视需求而订
WIDTH�
TYPE□PLE
OUTPUT□T
[FORMS-IMAGE] <--- 使用者自定
Phone (area-code): Number:
Address:
[RULES-SECTION] <--- 此部份目前为 Elm 所 ignore
请注意:在":"後可接空白或按"Tab",用来表示此栏之实际长度
而使用此功能前,必须将 elmrc 档中的 forms 设成 "forms□
若有签名档附於档尾,必须删除。
但是,若有现成档案/表格,只要将所要填写的部份加上":"(摘要或说明部份,
则不用),然後以空白或按"Tab"键来表示此栏的实际长度即可。
3. 储存 根据所用编辑器之储存方式,将档案储存。
4. 表格制作
当档案储存完後,会出现以下讯息:
choose: E)dit msg, edit H)eaders, M)ake form, S)end or F)orget:
此时,选择 "M",即可制做表格。
5. 寄出表格
在同一画面中,选择 "S",使用者将会收到类似下面的表格:
WIDTH�
TYPE□PLE
OUTPUT□T
FORMS
Phone: Number:
Address:
此种表格形式的信,必须用 Elm 接收,收到後即可填写表格, 再以 ``reply" 的
方式寄回。也就是说,当收到表格时,讯息 的分类项会显示 ``F",此时只要键入
``r"即可进入表格填写 其中的项目。参考文件 Elm Forms Mode System
Multi-Media features of Elm
在这多媒体技术正蓬勃发展的时代,这方面档案的需求量 必定增多;而这些档案
的传递方式也非常的多。透过信件传递 便是其中之一。Elm 就是利用多媒体的功
能来传递这类形的档 案(如:audio,image,video)。 更详细的说是透过
Metamail 来显示讯息。 而 Metamail 显示讯息是靠 mailcap 的档案。 此档案
必须放在签入(login)的目录下,并取名为 ``.mailcap" ;同时内容也可以根据
个人需求做修改。 有关 mailcap 档案的 内容请参阅本手册附录 B ``Sample
mailcap"。
送信方式:
只要依据各档案的格式在编辑信件时,加入下列内容,即可将档案送出。
o - Audio 档
[include music.au audio]
o (a) `` music.au" 为档名。
o (b) ``audio" 为格式。
o - Image 档
[include graph.gif image/gif]
o (a) `` graph.gif" 为档名。
o (b) ``image/gif" 为格式。
o - Video 档
[include movie.mpeg video/mpeg]
o (a) `` movie.mpeg" 为档名。
o (b) ``video/mpeg" 为格式。
请注意: "[" 前不能有空格,且必须加在一列的开始处。
收信方式:
以一般方式读入信件,然後依照画面指示,选取 2 存入档案。 最後
在根据图形的格式,选适当的软体工具(如:ghostview, xv...) 即可看到
图形。如:
From: jenny (Jenny Tai)
Subject: gif
To: jenny (Jenny Tai)
Date: Wed, 20 Apr 1994 14:16:37 +0800 (CST)
This message contains data in an unrecognized format, image/gif,
which can either be viewed as text or written to a file.
What do you want to do with the image/gif data?
1 -- See it as text
2 -- Write it to a file
3 -- Just skip it
2 <--- 表示选择了第二个选项
Please enter the name of a file to which the data should be written
(Default: /tmp/mm.a000a6) > graph.gif <--- ``graph.gif" 为档名
Wrote file graph.gif
除了上述各种格式的档案之外, Elm 还可以传送 binary 档案。 传送的方式如
下:
1. 先对 binary 档做 ``uuencode" 的动作。
$ uuencode xx.exe xx1.exe > newfile
+ (a) xx.exe --> 原来的 binary 档。
+ (b) xx1.exe --> 编码後的档名。
+ (c) newfile --> ``include" 时用的档名。
2. 进入 elm 中,做送信的动作,并键入以下内容:
收信人:
信件内容
[include newfile application/binary]
发信人
3. 当收信人收信後,进入 elm 中,先读信,再选择第二项 ``Write to a
file", 并给一档名,就可离开 elm。
4. 最後再针对新产生的档做 ``uudecode" 的动作,即可产生所要的 binary
档。
$ uudecode newfile
以此例来说,解开 newfile 之後,就会产生 xx1.exe 档。
另外,Elm 还可以在信件中 ``include" 信件,方法如下:
1. 进入 elm 中,做送信的动作,并键入以下内容:
收信人:
信件内容
[include xxfile message]
发信人
xxfile 为``include" 信件的档名。
message 为此档的格式。
2. 这样即可将一封格式为``message"的信件寄出。
有关档案格式的详细说明可以从 ftp.csie.nctu.edu.tw:/pub/RFC/rfc1341.ps.z
取得。
How to set password for a mail?
能够传送含密码的邮件是 Elm 的特点之一; (注) 传送时只要在邮件中加入:
[encode]
邮件内容
[clear]
即可传送含密码的邮件。 寄出时,系统会询问密码;此时发信者必须给 一个密
码,经过确认之後即可将邮件寄出。如:
hello! can you read the following message:
[encode]
你好吗?
[clear]
I hope you can read it.
当收信者收到信之後,只要依据系统指示,键入已知密码就能解读所收邮件。
----------------------------------------------------------------------------
注:
1. 此功能只能在 elm 中使用,在其它电子邮件系统中无效。
2. 在``[encode]"中不能再有``[encode]"。
3. 在``[encode]"中不能有``[include...]"。
BBS水木清华站∶精华区