当前位置:首页 > 经典书库 > 工程师手册

电子邮件

书籍:工程师手册

出处:按学科分类—工业技术 企业管理出版社《工程师手册》第790页(7641字)

电子邮件处理系统是为多用户系统编写、发送、接收、传送和答复信件而设计的通信软件,它使用户间能快速而方便地传递信息。

1.基本概念

(1)信箱。mail就好象是一个邮政局,称为“系统信箱”。

在目录/usr/spool/mail中,系统信箱给每个用户保留一个私人用的文件,叫“用户信箱”。它是登录目录下称为mbox的文件。发送给用户的邮件先放在系统信箱中,在用户读完它之后,把它自动保存在该用户的用户信箱中。

(2)信件。信件是用户间交换信息的基本单位。信件由信头和信体两部分组成。

信头包括以下几项:

To:这是必须具有的项。它包括一个或多个有效用户名,这些用户名指可把邮件发送给他的用户的名字。

subject:信件的名称或主题。

Cc:副本项,含有接收信件副本的一个或多个有效用户名。信件接收者在收到的信件中可看到这些用户名。

Bcc:副本项,含有接收信件副本的一个或多个有效用户名。信件接收者在收到的信件中看不到这些用户名。

(3)方式。mail程序具有发送邮件和处理信件两种主要功能。mail的两种主要工作方式是编排方式和命令方式。用户在编排方式下建立信件。用户在命令方式下执行处理邮件的mail操作。

(4)标题。进入mail命令方式后会显示出一串信件标题。标题是一条单独的文本行,它包括信件的说明信息,其内容为:

①大于号(>)指向当前信件。

②状态指示符,“N”表示新,“U”表示未读。

③信件的编号。

④发送者。

⑤行数和字符数。

⑥主题。

标题表具有如下特点:

①表中不出现已删除信件。

②以save和write命令保留的信件用星号(*)标识。

③以mbox命令选择的存放在用户信箱的信件用“M”标识。

④以hold或preserve命令放置在系统信箱的信件用“P”标识。

(5)信件表

命令格式:mail[-u user][-fmailbox][-e][-R][-i][-s][user…]

选择项:

-u user指定user的系统信箱。

-fmailbox指定信箱mailbox.

-c当输入来自一个文件时,允许从复合方式退出。

-R使邮件会话为“只读”方式(只以防止改变信箱内容)。

-i忽略来自终端的中断(Del)(在使用电话线读取或发送邮件时可防止因“噪音”而产生不必要的中断)。

-s用subject作为将要发送信息的subject(对象)域的正文。

(6)发送邮件。为发送邮件而调用mail可带自变量以指定接收者名字。键入信息时,在一行的开头键入Ctrl-d。

(7)读邮件。为读邮件而调用mail可不带自变量。它检查整个系统的目录外的邮件,使你能读和处理发送给你的消息。在你的信箱中的每一条消息的消息头被打印出来。当在mail对话期间来了一条新消息,可用restart命令读它。

(8)邮件处理。看完一条消息后,可用d命令删除这条消息,可用r命令答复这条消息,可用u命令恢复这条消息或用exit(x)命令退出mail对话。如果用quit(q)命令退出mail,不能再恢复已消除消息。

(9)指定消息。print和delete这类命令可将消息编号表作为自变量来立即找出相应的一些消息。“delete 1 2”删除消息1和消息2,“delete 1-5删除消息1-5”,特殊名“·”指所有的消息,“$”指最后一条消息,top命令显示一条消息的前几行,top·显示所有消息的前几行。

(10)答复或产生邮件。reply(r)命令用来建立对某种消息的回答,并将它送回消息发送人。键入答复的正文,按Ctrl-d发送出去。写消息时,以~开始的行是特殊的行。例如,在某行上只键入“~m”,则将当前消息的副本用一个制表符,发送出去。其它ESC序列建立主题字段,增加删除消息的接收人,并且允许转到编辑程序中去修改消息,或转到shell下行运行某些命令。

(11)结束邮件会话。用quit(q)命令结束邮件会话,用mbox(mb)命令将消息存放在mbox文件中。如果一条消息未被删除或未被进信箱中,它将回到邮局(/usr/spool/mail/yourname)。选择项-f使mail读mbox中的内容并处理之。当退出时,mail把未被删除的消息写回到这个文件中。选择项-i使mail忽略中断。

2.mail邮件系统的程序和文件清单

/usr/bin/mail mail程序

/usr/lib/mail/mailrc mail系统初始化文件

/usr/spool/mail/* 系统信箱文件

/usr/name/dead.letter 存放未发出邮件的文件

/usr/name/mbox 用户信箱

/usr/name/.mailrc 用户mail初始化文件

/usr/lib/mail/mailhelp.cmd mail命令求助文件

/usr/lib/mail/mailhelp.esc mail合成转义命令求助文件

/usr/lib/mail/mailhelp.set mail选择项求助文件

/usr/lib/mail/aliases 整个系统范围的别名

/usr/lib/mail/aliases.hash 整个系统范围的别名数据库

/usr/lib/mail/faliases 传送别名

/usr/lib/mail/maliases 机器别名

/usr/lib/mail/maliases.hash 可选的机器别名数据库

3.电子邮件命令汇总

〈CR〉显示下一条消息。

+n缺省n则显示下一条消息,若给定n则向后跳到第n条消息并显示之。

-n缺省n则指向上一条消息并显示之。若给定n则向前跳到第n条消息并显示之。

′显示第一条消息。

$显示最后一条消息。

=显示当前消息的消息号。

?显示/usr.lib.mail/mailhelp.cmd文件中mail命令摘要。

! shell-cmd执行跟着的shell命令。

alias users显示给用户的整个系统别名(至少指定一个用户)。

alias name users指定user的别名为name,缺省name则显示所有别名的用户。

cd directory将用户工作目录改为指定目录,若未给定directory就转到用户主目录下。

delete mesg-list删除mesg-list表中和每条消息。

dp mesg-list删除当前消息并显示下一条消息。

echo path扩展shell字符。

edit mesg-list用mesg-list表指出正文编辑程序(依次编辑每条消息)。返回命令方式时,以前编辑的消息被读回。

exit[!]对系统信箱、用户信箱或用-f指定的文件不做修改,直接返回shell。

file显示信箱文件名。

forward mesg-num user-list将当前消息发送给user-list表中每个用户,发送的消息采用缩进的形式并表明发送者已经传送了这条消息。mesg-num自变量是可选的,用以传送编了号的消息。

header+n|-n|mesg-list如果不带自变量,则列出当前范围的消息标题。18条消息为一个标题组。如果给出正号(+)自变量,则显示下一组(18条)消息组。如果给出负号(-)自变量,则显示出前一组(18)条消息组。正号和负号都能带一个可选的数字自变量n,表示向前或者向后移动的标题窗口号。如果给出了mesg-list表就显示表中每条消息的标题。

help与?一样,显示在/usr/lib.mail.help.emd文件中的命令摘要。

hold mesg-list标记要存入用户的系统信箱(不是存入mbox)的各条消息。

list显示mail命令表。

lpr mesg-list在打印机上打印mesg-list表中的每条消息,消息打印前通过pr管道传送。

mailLuser-list]标识消息表中的每条消息。

move mesg-list mesg-num将mesg-list表中指定的消息放在mesg-num指定的消息之后。如果mesg-num为零,则移至信箱头部。

print mesg-list将mesg-list表中的每条消息在用户终端上显示。

quit终止mail会话,在系统信箱中保留所有未被删除和未被保存的消息。如果设置了autombox选择项,则将所有检查过的消息存入用户信箱,删除已丢弃的消息,而所有用hold命令标识的消息则保留在系统信箱中。当用户用-f标志编辑一信箱文件时,执行quit命令就重写信箱文件并返回shell。

reply mesg-list给原消息发送者发邮件作答复。

Reply mesg-list给To:字段和Cc:字段命名的用户及原消息发送者作出答复。

restart在当前mail会话期间读到达的邮件。

save mesg-list filename依次将mesg-list表中每条消息加在文件尾部,缺省消息为当前消息。

set显示选择项表。

set option-list不带自变量则显示所有变量值,否则设置选择项。如果是字符串选择项,则自变量形式为option=value。如果为开关选择项,则自变量形式为option。一行上可设置多个选择项。

shell调用交互式的shell。

size mesg-list显示mesg-list表中每条消息的字符数。

source file从给定文件中读mail命令并执行之。

string string mesg-list在mesg-list表中检索string。如果不指定mesg-list表则检索所有没被删除的消息。检索中不考虑字母的大小写。

top显示表中每条消息的前五行。显示行数由选择项toplines设置。

undelete mesg-list同未删除的消息一样标识,mesg-list表中的每条消息必须是在前面已删除的消息。

unset options消除选择项表中各项的记录值。

visual mesg-list调用vi编辑mesg-list表中每条消息。

whois检查目录邮件接收者表,印出每个接收者的真实名字式说明。

write mesg-list filename将给定的mesg-list表中的消息体写入给定文件filename中。

4.选择项汇总

选择项由set和unset命令设置。

askcc每条消息结束时提示增加复制副本接收者,按<CR>保持当前表中内容。

asksubject提示键入每条要发送消息的题,题目是用<CR>结束的一行正文。

autoprint使在用delete命令时,其作用同dp命令一样,删除一条消息和自动显示下一条消息。

chron使消息按时间顺序列表。

dot用在新行起始处的单个句点为EOT字符。通常的结束传送字符Ctrl-d仍起作用。

EDITOR=用edit命令和~e合成转义命令所调用的正文编辑程序路径名。若未定义,则用缺省编辑程序。

escape=char用char字符代替否定号(~),用以表示转义命令。

ignore忽略从终端发出的中断信号并回应“@”字符。

mchron按编号顺序列表(最近收到的消息为第一号),但按时间顺序显示。

metoo若设置metoo,则在发送前不将发送者从别名展开的名字中除去。

nosave在连续两次按中断键或~q命令后,不将消息缓冲区的内容存入主目录下的dead·letter文件中。

page=n显示消息时,每“页”显示出版本标题。

record=设置用以记录所有发出的消息的文件路径名。若未定义,则发出的邮件就不作拷贝。

SHELL=执行!命令和~!转义命令中所用shell的路径名。

toplines=设置用top命令印出一条消息的行数,缺省值为五行。

verify检验每个目标邮件接收者。

VISUAL用在visual命令和用~v转义命令中的正文编辑程序的路径名,缺省时指vi。

上一篇:系统操作 下一篇:工程师手册目录
分享到: