精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>网络专区>>● Internet>>
资源大餐
>>☆《Internet资源访问大全》☆>>《Internet资源访问大全》..标准Unix邮政系统程序.1

主题:《Internet资源访问大全》..标准Unix邮政系统程序.1
发信人: snowypeng()
整理人: snowypeng(2001-08-11 13:53:17), 站内信件
              第六章  标准Unix邮政系统程序

    在第五章中,我们曾谈到过Internet电子邮政系统,通过使用一种叫
SMTP的系统来发送和接收邮件。
    每台Internet计算机均含有两套能提供邮件服务的重要程序。其一传
输受理,在后台运转,使邮件与外界相联;其二,PC机中的用户邮件程序。
这样,就可发送和接收邮件。
    在所有第五章中提及过的邮件程序中,最为重要的是标准Unix邮件程
序,叫做mail。该程序是唯一适用于所有Unix系统的程序。即使你所使用
的是一个与上述程序完全不同的程序,你也应该至少将本章其余部分浏览
一遍。以下的提示和技术在一般说来适用于所有邮件程序。尤其应当知晓
的是from与biff命令。
    无论你所使用的是何种邮件程序,都可以去熟悉一下标准Unix邮政系
统。这对你有益,因为这是唯一能在所有Unix系统中均能找到的程序。
    Unix邮件程序步骤    
    我们先大致了解一下mail程序如何操作。下面,将更为详细地讨
论发送与接收邮件。
    使用mail有两种方法。发送邮件时,录入mail紧接着录入信件到达的
某个或多个地址。例如:你想把一封信件送至[email protected]
你需录入:
    mail [email protected]
    大多数系统设置向你询问标题和其它信息。于是你可录入你的这些信
息,一次一行。
    录完全部内容后,另起一行,按“CTRL-D”(即按定“CTRL” 键时再
按下D键) 。在Unix中,此键被称为eof(文件结束键)。一旦你按下了该键,
信息便开始发送,且mail程序也行将结束。
    若要读出邮件,录入:
     mail
    若有许多信息待读,mail可显示出信息清单,等你录入命令,执行不
同的命令,你能读出且对你觉得需要的信息作出回复。结束之后,请录入
q(停止)命令,则mail程序也终止。
    如果读不出信息, 你会看到一行带有你的用户标识说明的提示:
    No mail for harley
    邮件地址    
    录入mail命令以及收件人的一个或多个地址名称,可发送邮件。例如:
    mail [email protected]
    mail [email protected] mschuster mpeirce
    第一个例子中邮件只送到一个地址,第二个例子中则出现了三个地址。
     让我们花点时间讨论一下第二个例子中的三个地址。  第一个地址
[email protected]是完整的,包括一个用户标识和一个域。第二个和第三
个地址就只有用户标识。这是因为这两个接收方与发送信件的一方使用了
同台计算机,地址上与本机相同部分就省略了。
    以下即工作步骤:
    假若你的完整地址是[email protected],按照基本的原则,
当你向某人发送邮件时,可以省略你们共同的子域(sub-domain)。例如,
你想将一封信件送至[email protected],因为最后两个子域 ucsd 与
edu是一样的,你可以删去它们,仅将邮件发送到kim@furface即可。  换
句话说,就是因为fuzzball与furface都处于同样的本地网络之中, 你只
需录入不同的计算机名即可。
    如果你与某人使用同台计算机主机,连整个域都相同,则只需使用用
户标识就行了。因此,如果你请求登录至fuzzball,且欲将信件送至同在
fuzzball中的某人处,则你只需说明其用户标识。比如,你的完整地址是
harley@fuzzball.   ucsb.   edu ,而你的收件人的完全地址是
[email protected],那么以下所用
的命令均可:
    mail [email protected]
    mail mschuster@fuzzball
    mail mschuster
    欲知更多有关Internet地址的信息,请参见第四章。
    若你发送邮件至某无效地址,信息将被打回,且有解释
,因为在发现地址错误之前仍会沿着原路通向目的地计算机。  对此类情
况,我们称之为信息“反弹”。比如,  你或许会打电话给你的朋友:“
你能再告诉我一下你的地址吗?我按你昨天给的地址交了邮件,但它被‘
反弹’了回来。”
    编写信件
    录入mail命令之后,你会看见
    Subject:
    这是向你询向信件标题。录入信息,并按“RETURN”键,你所录入的
内容即成为信头中Subject的内容。
    你应使你的标题描述简短些。经验法则约定,不应超过40个字符。
    鉴于你的程序设定方法,你现在会看到:
    Cc:
    这是向你询问是否将信件的副本送至别处。若要,则录入它的地址或
多个地址并按下RETURN键。若否,则只按RETURN键。
    在你可以一次一行地录入你的信件内容。完成后,按下RETURN( 移向
新的一行),再按CTRL-D。正如我们已解释过的,“CTRL-D”(文件结束键)
 通知程序数据已完全录入。
    图6—1是发送信件样本。用户敲入的用黑体字表示;第一行的“”符
号是Unix中的shell提示符,即表示shell待命。请注意在信件的最后,当
我们按了“CTRL- D”之后,邮件会回复出“ EOT ”, 这表示 End  of
 Transmission(传送结束)。这也证实了信件的完整和可以发送。
    在编写信件时,你若改变了主意,只需在行中按两次“CTRL-C”即可
消除以前的内容。在Unix系统中,“CTRL-C ”被称为“ intr ”键 ( 即
interrupt,中止键),用来使一个正在运行的程序紧急停止。当你想紧急
终止信件时,mail规定要按两次“CTRL-C”。 第一次按后,你会看到:
    (Interrupt--one more to kill letter)
    这是一种自我保护手段,是当你不慎按下“CTRL-C”键后,仍可忽略
它并继续录入信件。但你确要紧急中止信件录入,需再按一次“CTRL-C”
就可以加以确定。
    mail [email protected]
    Subject: An important visit
    Cc:
    kim:
    the great scholar T.L.Nipper will be visiting next
    keek and giving a guest lecture. Do you want me
    to get tickets?
    --Harley
    CTRL-D
    EOT
    图6-1信件发送
    代字号换符命令    
    当你录入信件时,某些特定命令可以在mail程序中使用,为了避免这
些命令与你所录入内容相混淆,这些命令均以代字号“~”开头。当一单
个字符如此使用时,即表示其后的内容需用另一种方式来处理——这样的
字符被称为“换符”。鉴于此,这些命令被称为换符命令,必须是在一行
的开头。
    下面的表6-1概括了各类换符命令。在此表中,我们使用标准Unix 命
令语法,即使用标准Unix惯例来描述命令的技术格式。斜体字代表你必须
填入的内容。 当看到“…”,则表明你可以填入不止一项的内容。
   命令功能
  ~? 帮助;显示代字号换符概述
  ~b address...在“Blind copy”行添入地址
  ~c address...在“Copy”行中添入地址
  ~d读出死信(dead letter)文件内容
  ~e调用正文本编辑器
  ~f messages(继续)读出信件
(斜体字部分)
  ~h编辑所有信头行
  ~m messages读入信息;在开头插入tab键
  ~p显示(打印)当前信件
  ~q终止(与两次“CTRL-C”相同)
  ~r file读出文件内容
  ~s subject改变标题行
  ~t address...在“To”行添加新地址
  ~v调用另类编辑器(通常与~e相同)
  ~w file将当前信件写入文件
  ~! command执行shell命令,然后返回信件 
  ~| command通过过滤器传送当前信件
    表6-1mail代字号换符命令概要
    我们可以不必谈论各个代字号换符命令,而应该花点时间实际操作体
验一番,我们将仅就其中几个最重要的命令作示范说明:
    首先,“~?”命令能显示一个所有代字号换符的概述,如表6-1所示。
    最重要的命令是“~e”, 它能启动一个文本编辑器以便你在信息发
出之前能进行修改。正如在前一节里提及的,你一次一行编写信件,在录
入的行中,可以退格并对信件加以修正。然而,回车后对前一行进行修正
却是办不到的。
    对此的解决办法就是使用“~e”键。它可启动你的改错文本编辑器。
 通常可以是vi——标准Unix文本编辑器——或是emacs。这样就可以对任
意一行进行修改并添加所需内容(当然,你得知道使用编辑器的方法 )。 
修改完成后就可采取通常很简单的方式终止编辑。你便回到了mail程序,
按下“CTRL-D”可发送信息。
     另一个有用的换符命令是“~h”,它能通知mail你所想修改的信件
信头。那些信头会一条条地被显示出来,供你随意修改。如果你不想作出
改动,只需按RETURN键。
    起初,你会看到:
    To:
    现在你可以修改地址。然后会出现:
    Subject:
    现在你可以修正信件的标题。在此之后,你会看到:
    Cc:
    你可以在此时说明你想将信件(副本)送至的地方。最后,会出现:
    Bcc:
    现在如果你想将死件送至某处,你可将该处说明出来( 若你不想作出
任何改变,就按“RETURN”键)。
    在每一条都修改完毕之后,你便回至了原处并可继续录入信件。
    如果你想直接对某条信头作出修改,而不是逐个寻找,你可以用~t
(To:) ,  ~s (Subject:),~c (Cc:),或~ b (Bcc:)。 这是一种
将命令部分中的新信息说明出来的简单方法。例如:将你的信件标题改为
“Important new item”,使用:
     ~s Important new item
     如果要将死件送至一个地址为[email protected]的朋友,录入:
     ~b [email protected]
    下面的两个换符命令用于你对正读到的信件进行回复之时。我们将在
以后的章节加以详尽的描述。mail  程序可以在你读完信件之后比较容易
地将回复信件发给用户标识,且当你回复时,它还有助于将来信原件复制,
以作回复的一个部分。
    命令“~f”(follow-up)可以做到这样。如果只用~f,mail 将你刚
读到的信件插入你回复的信件当中。若你还想加上另一封信件,只需说明
出其编号(每封信件都会有一个编号)。比如:需要4号信件,可录入 ~f
4
    ~m命令的功用相同,只是在被包括的信件的每行之前打上一个tab键。
这样,当别人阅读你的回信时,被包括的文本将被缩排。
    在回复中,把所有的或是部分的信件包括进去是很不错的。比如,假
定你收到了:
    Do you  want to go to a movie later today ?
    lf so, would you like to see the film version 
    of the book' A Student's Guide to Unix'?
    你可以利用~f将此信件插入你的回复之中,然后使用~e  开启文本
编辑器编辑信件并加上评论。回复便成为:
    > Do you want to go to  a movie later today
    Yes, That would be wonderful
   > lf so, would you like to see the film version
   > of the new book 'A student's Guide to Unix'?
   I have already seen it It is great
   Actually, I wouldn't mind seeing it again.
   这里将教你如何漂亮地作出回复。首先,用~f将信件原文插入回复中,
然后, 用~e把全部内容置于文本编辑器里,  将所有的信头和你不想引
用的冗长部分从信件中删去。
    在剩下的所有行的开头,能打出两个“>”(大于号,两个之间空出一
格)。有些邮件程序会自动印出,但mail没有如此设计, 所以你必须自己
去操作。 如果你使用的是vi编辑器, 接下来的命令将会在编辑缓冲寄存
器中把下列字符显于每一行前:
   :s/^/> /
   然后移向你想回复的每一点将你的回复插入。 这一切完成之后,  终
止编辑并按CTRL-D 送出信息。
   另外一种将文本作为新信件包括进去的换符命令是~r(read读)。  它
能把一个现存的文件内容插入到你的信件中。方法是打入~r 及文件名称。
比如,要读名为memo的文件,则需录入:
    ~r memo
    最后,我们还想提一下~!与~|两个命令。在编写信件的过程中,想
使用Unix命令时,可运用它们。~!能暂停mail程序,执行你所需的 Unix
命令后再返回mail。比如,暂停程序,想了解一下时间与日期,录入:
    ~!date
    利用~|,同样可以给出Unix命令的名称,在此情况下,mail将把你
的信件内容送至此命令中加以处理,命令的输出将代替你的信件。比如,
假定你的信件由一长串标题构成,当该名单被录入后,你想在其发送之前
用Unix分类命令进行名单分类, 则录入:
   ~|sort
    你的信件内容将会被分类命令处理后的输出所代替,即显示出分类过
后的顺序。如果此时你想做出少许修改的话,可使用~e启动文件编辑器。
    在Unix中有一叫fmt的命令专门用来对邮件内容格式化。fmt  命令首
先一行一行地阅读文件,然后使其尽可能紧凑,可达每行72个字符。  该
命令不会改变每行开头或两字之间的间隙,同样也保留了空行。换言之,
只要你使用空行来分隔段落的话, fmt命令使信息格式更为优美。
    在整个信件发送之前进行格式化,需录入以下代字号换符:
    ~ |fmt
    若要检查结果,可使用~p(print,即打印)显示出信息或~e 来启动
文本编辑器。
    发送邮件的捷径    
    我们已描述过如何发送邮件:先录入mail命令,再录入一个或多个地
址, 编写完信件内容后定一个标题,最后按CTRL-D发送出信息。
    为了加快速度,你可以使用几种不同的mail命令。首先,  你可以把
标题定为命令的一部分,先录入mail再输-s和标题,如:
    mail—s Meeting harley@fuzzball. ucsb. edu
    此命令把信头中的标题行定为“Meeting”。 如果你想定一个复杂一
点的包括空格和标点的标题,可用一个单引号将内容包括进去。如:
    mail—s ‘Meeting next week’ [email protected]
    用此种方法规定出标题时,mail不会要求你再录入标题。若你想做出
修改,可使用~s或~h换符命令。
    


----
::snowypeng::
 闲<=======:::::========>闪    

[关闭][返回]