[an error occurred while processing this directive]

HP OpenVMS Systems Documentation

Content starts here

OpenVMS 用户手册


前页 目录 索引

7.6.3 从消息建立文件

读取消息时,要从消息建立一个文本文件,就在 MAIL> 提示下输入 EXTRACT 命令和文件名。退出 Mail 时,该文件列表在当前目录 (除非指定另一个目录) 中。如果该文件是一个 DDIF 文件,Mail 保持 OpenVMS RMS 文件标签和 DDIF 语义 (VAX/VMS V5.2-2 或以后版本)。

邮件标题包括 From:、To: 和 Subj: 行。要建立不包括标题信息的文件,对 EXTRACT 命令指定 /NOHEADER 限定词。如果消息有一个以上标题 (例如,转发消息),则只删除顶端的标题。

对 EXTRACT 命令使用 /APPEND 限定词可把消息复制到现有文件的末端。使用 /ALL 限定词把当前文件夹的所有文件复制到一个现有文件。

在以下例子中,从展示的邮件消息建立一个文件 DEC_MEETINGS.TXT:


#1                  01-DEC-1999  14:12:27        NEWMAIL

From:  STONE::FELLINI
To:    Thompson
Subj:  Dates for December sales meetings

Sales meetings in December will be held on the following dates:
      Wednesday Dec. 8, 1999
      Tuesday   Dec. 14, 1999
      Monday    Dec. 20, 1999
      Thursday  Dec. 30, 1999
MAIL> EXTRACT DEC_MEETINGS.TXT
%MAIL-I-CREATED, DISK:[THOMPSON]DEC_MEETINGS.TXT

以下例子展示如何建立一个文件 JANUARY_MEETINGS.TXT,它包含消息编号 3 的文本:


MAIL> READ 3
.
.
.
MAIL> EXTRACT/NOHEADER JANUARY_MEETINGS.TXT
%MAIL-I-CREATED, DISK1:[JONES]JANUARY_MEETINGS.TXT;1 被建立
MAIL>

7.6.4 把文件附加给消息

要自动地把一个小文件附加到邮件消息的末端,使用 SET SIGNATURE_FILE 命令。指定的文件自动地 (按照默认) 附加到您使用 ANSWER、FORWARD、MAIL、REPLY 或 SEND 命令发送的每个邮件消息。签名文件的例子是一个格式化为名片的文本文件,包含用户的公司名、地址、电话号码和互连网地址。

如果要选择性地附加一个文件给消息或者取代默认签名文件设置,则使用 /SIGNATURE_FILE[=file-name] 限定词以及ANSWER、FORWARD、MAIL、REPLY 或 SEND 命令的 。

使用 SHOW SIGNATURE_FILE 命令可展示是否指定了默认签名文件。(SHOW ALL 命令也显示签名文件信息。)

在 DCL 级通过使用带 /SIGNATURE_FILE[=file-name] 限定词的 DCL 命令 MAIL,您也可以设置默认签名文件。

注意,当建立邮件包括签名文件的消息时,该消息需要比常规消息更多的临时磁盘空间,因为在操作期间要建立临时文件。在消息发送后,就删除那些临时文件。

当指定签名文件名时,也要注意以下规则:

  • 如果不指定文件类型,则默认是 .SIG。
  • 如果不指定目录,Mail 公用程序就在在您的邮件目录搜索签名文件。

在以下例子中,文件 BUSINESS_CARD.SIG 指定为默认文件,它将自动附加到每个使用 FORWARD、MAIL、REPLY 或 SEND 命令发送的邮件消息。


MAIL> SET SIGNATURE_FILE BUSINESS_CARD.SIG

在下一个例子,文件 GREETINGS.SIG 代替默认签名文件,被指定为自动附加到特定答复的文件。


MAIL> REPLY/SIGNATURE_FILE=GREETINGS.SIG

7.7 发送消息的其他方法

以下几节描述使用 Mail 公用程序发送消息的其他方法。

7.7.1 答复消息

要答复接收的消息,使用以下过程:

步骤 任务
1 在 MAIL> 提示下键入 REPLY 并按下 Enter 键。
2 输入消息并按下 Ctrl/Z 可发送消息,或者按下 Ctrl/C 放弃。

在以下例子中,答复发送给 STONE::THOMPSON。注意,在输入答复命令后,Mail 自动显示 To: 和 Subj: 提示:


TTo: STONE::THOMPSON
Subj:  RE: Budget Meeting
Enter your message below. Press CTRL/Z when complete. CTRL/C to quit:

7.7.1.1 答复包含嵌套引号的地址

在大多数情况下,可以使用 Mail 命令 REPLY 答复从包含嵌套引号的地址接收的邮件。然而,如果系统没有这个能力,请与系统管理员联系。

7.7.2 转发消息

在读取消息之后,如果要转发邮件消息给其他用户,则在 MAIL> 提示下输入 FORWARD 命令。Mail 提示输入收件人的名称和主题。在输入完要求的信息后,按下 Enter 键 可发送这个消息。

如果转发消息包括 .DDIF 文件,Mail 就发送整个 .DDIF 文件给收件人,包括 .DDIF 语义和 .DDIF  标签。

在以下例子中,转发一条消息给用户 STONE::JONES:


MAIL> FORWARD
To: STONE::JONES
Subj: FYI -  Status of proposed budget meeting

7.7.2.1 SET FORWARD 命令

可以使用 SET FORWARD 命令把所有发送给您的邮件消息,全部重定向到另一个 OpenVMS Cluster 或另一个系统上的帐户。实质上,这个命令建立一个电子转发地址。只为您不要定期检查的帐户设置一个转发地址。例如,您想把您在 OLD 簇邮件帐户的所有邮件转发到您在 STAR 簇上的邮件帐户。在您注册进入 OLD 后,输入 Mail 公用程序并输入以下命令:


MAIL> SET FORWARD STAR::SMITH

所有发送给 OLD::SMITH 的消息将自动重定向到节点 STAR 上的这个邮件帐户。也可以把转发地址设置为一个互连网邮件地址:


MAIL> SET FORWARD SMITH@Company.com

在这种情况下,所有发送给 OLD::SMITH 的邮件将转发给 SMITH@Company.com。

总是要发送一条测试消息给旧帐户来确认正确地转发消息给新帐户。要避免建立循环转发 (即邮件消息无限转发,但从不到达目的地。), 不要设置帐户转发给本身或者另一个转发帐户。不要转发 OLD::SMITH 给 OLD::SMITH。不要转发 OLD::SMITH 给 STAR::SMITH,然后转发 STAR::SMITH 给 OLD::SMITH。

要检查帐户转发的地址,输入以下命令:


MAIL> SHOW FORWARD
Your mail is being forwarded to STAR::SMITH.

要除去转发地址,输入以下命令:


MAIL> SET NOFORWARD
MAIL> SHOW FORWARD
You have not set a forwarding address.

确认您已除去转发地址,并向该帐户发送测试消息。

注意

在以前版本的 OpenVMS 操作系统中,如果要在 SET FORWARD 命令包括引号,您必须指定一对额外的引号,因为该命令自动除去第一个引号。但从 OpenVMS 7.0 版本开始,就不需要指定一对额外引号,因为 SET FORWARD 命令不再除去第一个引号。

7.8 组织消息

以下几节描述如何组织邮件消息。

7.8.1 建立文件夹

要组织邮件消息,可以建立自己的邮件文件和文件夹。一个邮件文件包含文件夹,而一个文件夹包含邮件消息。每个文件夹和文件可以包含任何数目的消息。

典型情况是,通过建立文件夹组织消息,而不是通过建立邮件文件。如同默认邮件文件夹 (NEWMAIL、MAIL 和 WASTEBASKET),您建立的文件夹通常存储在邮件文件 MAIL.MAI。每次输入 READ 或 DIRECTORY 命令时,当前文件夹的名称显示在屏幕的右上角。您可以只处理在当前文件夹中的消息。

如果邮件文件很大 (超过 500 块),那么可以为较大的文件夹建立独立的邮件文件,以改进 Mail 的性能。

7.8.2 建立邮件子目录

接收邮件消息时,按照默认这些消息写入名为 MAIL$xxxxxxxxxx.MAI 的文件,并且定位在您的顶级目录中。(注意 x 字符表示一个长的任意文件说明。) 当您第一次接收邮件消息时,就在您的顶级目录建立默认邮件文件 MAIL.MAI。

要避免在顶级目录显示 .MAI 文件,使用 Mail 命令 SET MAIL_DIRECTORY。这个命令建立一个邮件子目录并把所有 .MAI 文件移入这个子目录。要把 .MAI 文件从子目录移回顶级目录,使用 SET NOMAIL_DIRECTORY 命令。

要显示包含您的所有 .MAI 文件的子目录名,在 MAIL> 提示下输入 SHOW MAIL_DIRECTORY。

在以下例子中,用户 (FRED) 建立目录 .MAIL:


MAIL> SET MAIL_DIRECTORY [.MAIL]
MAIL> SHOW MAIL_DIRECTORY
Your mail file directory is SY$LOGIN:[FRED.MAIL]

7.8.3 把消息移入文件夹

可以使用 FILE 命令或 MOVE 命令把当前消息放入不同的文件夹。如果这个文件夹不存在,那么 Mail 显示一条消息,请问您是否要建立它。在把消息归档到指定文件夹后,Mail 自动删除当前文件夹的消息。

7.8.4 在文件夹间复制消息

Mail 命令 COPY 把当前消息的副本放入指定的文件夹。如果这个文件夹不存在,Mail 就显示一条消息,请问您是否要建立它。

在以下例子中,所有包含字 MEETING 的消息从当前文件夹复制到文件夹 SCHEDULE。在 COPY 命令完成后,每个消息有两个副本,一个在当前文件夹,而另一个在文件夹 SCHEDULE。


MAIL> SEARCH MEETING
MAIL> COPY SCHEDULE
Folder SCHEDULE does not exist.
Do you want to create it (Y/N, default is N)?Y
%MAIL-I-NEWFOLDER, folder SCHEDULE created

以下命令选择并显示包含字 "meeting" 的下一条消息:


MAIL> SEARCH


MAIL> COPY SCHEDULE
MAIL> SEARCH
%MAIL-E-NOTFOUND, no messages containing 'MEETING' found

7.8.5 选择文件夹

要显示当前邮件文件的文件夹列表,输入 DIRECTORY/FOLDER 命令。要选择一个新文件夹作为当前文件夹,使用以下命令之一:

  • SELECT foldername
    把指定的文件夹选择为当前文件夹。后来的 Mail 命令,例如 READ 和 DIRECTORY,就使用这个选定文件夹。不需要在每个命令中指定文件夹名。
  • SET FOLDER foldername
    这个命令与 SELECT 命令效果一样。
  • DIRECTORY foldername
    把指定的文件夹选择为当前文件夹,并列出这个文件夹中的消息。
  • READ foldername
    把指定的文件夹选择为当前文件夹,并显示指定的消息 (按照默认,显示文件夹中的第一条消息)。

在以下例子中,选择 MEMOS 文件夹:


MAIL> DIRECTORY/FOLDER
Listing of folders in SYS$LOGIN:[FRED]MAIL.MAI;1
     Press CTRL/C to cancel listing
MAIL                                  MEETING_MINUTES
MEMOS                                 PROJECT_NOTES
STAFF
MAIL> SELECT MEMOS

7.8.6 删除文件夹

要删除邮件文件夹,就要删除文件夹中所有消息或把它们移入另一个文件夹。删除文件夹的所有消息时,只要您选择另一个文件夹就自动删除这个空文件夹。

在以下例子中,删除 MUSIC 文件夹的消息:


MAIL> SELECT MUSIC
%MAIL-I-SELECTED, 2 messages selected
MAIL> DELETE/ALL

7.8.7 建立和存取邮件文件

您也可以建立文件来组织邮件消息。与建立文件夹一样,使用同样的命令建立邮件文件: COPY、MOVE  和 FILE。在 Mail 提示输入文件夹名后,也提示输入文件名。如果在 File: 提示中输入一个新文件名,就建立一个新邮件文件 。

要处理不同于默认邮件文件的邮件文件,使用 Mail 命令 SET FILE 指定代替的文件。Mail 命令 SHOW FILE 显示当前邮件文件名。当更改邮件文件时,就倒空和删除当前邮件文件的 WASTEBASKET 文件夹 (如果设置 AUTO_PURGE),并且关闭这个邮件文件 。

图 7-1 展示一个典型用户如何组织邮件。

图 7-1 组织邮件


在以下例子中,当前消息被移入 ACCOUNTS 文件的文件夹 FEED。MOVE 命令建立邮件文件 ACCOUNTS.MAI,把当前消息移入 FEED 文件夹,并从当前文件夹和文件中删除这条消息。


MAIL> MOVE
_Folder:  FEED
_File:  ACCOUNTS

在以下例子中,选择 FEED 文件夹 (它在 ACCOUNTS 文件中):


MAIL> SET FILE ACCOUNTS
MAIL> SET FOLDER FEED
MAIL> SHOW FILE
Your current mail file is SYS$LOGIN:[FRED.MAI]ACCOUNTS.MAI;1.

7.8.8 纠正邮件消息计数

如果显示在屏幕上新的 (未读) 邮件消息的数目与新消息的实际数目不一致,那么当没有新邮件时输入 READ/NEW 命令。当您输入 READ/NEW 命令时,将知道没有新邮件,并接收到以下系统消息:


MAIL> SET FILE ACCOUNTS
MAIL> SET FOLDER FEED
MAIL> SHOW FILE
Your current mail file is SYS$LOGIN:[FRED.MAI]ACCOUNTS.MAI;1.

7.9 删除消息

如果要从当前文件夹删除一条邮件消息,那么当读取消息时,输入 DELETE 命令或者输入 DELETE 命令后面跟随要删除消息的编号 (或编号范围)。可以使用连字号 (-) 或冒号 (:) 定义要删除的消息范围。

在以下例子中,删除消息 4、5、6、11、12、14、15、16 和 17:


MAIL> DELETE 4-6,11,12,14:17

7.9.1 恢复删除的消息

如果删除一条消息,这条消息就被移入文件夹 WASTEBASKET。被删除的消息收集在 WASTEBASKET 文件夹中,直到您退出当前邮件文件 (从 Mail 退出,或者指定不同的邮件文件)。如果您已发出 SET AUTO_PURGE 命令,当退出当前邮件文件时,将倒空 WASTEBASKET 并删除文件夹本身。在交互 Mail 对话期间,把消息移出 WASTEBASKET 文件夹,您可以恢复任何被删除的消息。输入 PURGE 命令,也可以倒空 WASTEBASKET 文件夹。

在以下例子中,编号 12 的邮件消息先被删除,然后从 WASTEBASKET 文件夹恢复。


MAIL> DELETE 12

MAIL> SELECT WASTEBASKET
%MAIL-I-SELECTED, 1 message selected

MAIL> DIRECTORY
    # top
From                 Date         Subject

    1 FABLES::WEST         11-DEC-1999  Meeting this week

MAIL> MOVE MAIL

7.10 打印邮件消息

要打印邮件消息,在 MAIL> 提示下输入 PRINT 命令。按照默认,Mail 把消息发送到 SYS$PRINT 队列。直到您按下 Ctrl/Z、输入 EXIT 命令或输入 PRINT/PRINT 命令,邮件文件才被发送到打印队列。

要指定不同队列,使用 PRINT 命令限定词 /QUEUE。发出 SET QUEUE queue-name 命令,也可以选择不同的队列;这个队列将保持作为默认打印队列,直到输入另一个 SET QUEUE 命令,即使退出 Mail 也是如此。

在以下例子中,邮件消息提交给 AK34$PRINT 打印队列:


MAIL> PRINT/QUEUE=AK34$PRINT

在以下例子中,默认打印队列从 SYS$PRINT 更改为 AK34$PRINT:


MAIL> SET QUEUE AK34$PRINT

7.11 保护邮件文件

以下几节描述如何保护邮件文件。

7.11.1 默认保护

邮件文件 (例如,MAIL.MAI) 受到保护,其他人不能读取,以避免被意外地删除。Mail 为 .MAI 文件给出的保护码是: (S:RW,O:RW,G:,W:)。系统 (包括 Mail 本身) 和拥有者 (您) 可以读取和写入这个文件。拒绝组和全体用户的所有存取权。

Mail 公用程序也有默认文件保护来阻止邮件篡改。然而,Mail 不能完全避免篡改。任何人如果有足够特权就可以更改保护并存取邮件文件。

7.11.2 安全措施

邮件文件存储在您自己的目录中,因而您可以对敏感文件可选地应用文件保护技术,这种技术描述在第 10 章。另外:

  • 判断邮件请求的响应: 如果一个节点处于本地 OpenVMS 簇环境之外,那么源节点可能被意外地或有意地错误标识。
  • 在邮件消息内容和接收人选择方面,最好使用判断力。
  • 决不泄露您的密码,或发送有关如何使用您的帐户的详情。一旦把邮件消息发送出去,您就不能控制。

7.12 在 Mail 环境中使用文本编辑程序

以下几节描述如何在 Mail 环境中使用文本编辑程序。

7.12.1 使用 EVE

在发送消息之前,可以使用文本编辑程序编写消息。要做这件事,可指定 SEND 命令及 /EDIT 限定词。在响应 To: 和 Subj: 提示后,Mail 调用这个文本编辑程序。除非已选定另一种编辑程序,否则 Mail 调用基于 DECTPU 的 EVE 编辑程序。

您输入文本时,[End of file] 标记跟着向下移动。有关 EVE 编辑程序的详情,请参阅第 8 章。要发送消息,可按下 Do 键并输入 EXIT 命令。要取消发送操作,按下 Do 键并输入 QUIT 命令。

在以下例子中,使用 EVE 建立邮件消息:


MAIL> SEND/EDIT


[End of file]



Buffer:  MAIN                     |  Write  | Insert | Forward

注意

不要编辑 .DDIF 邮件文件,因为您将不能再使用 .DDIF 文件。如果要编辑一个 .DDIF 邮件文件,只可以存取这个文件的文本。

7.12.2 使用 /EDIT 限定词关键字

如果调用 Mail 时指定 /EDIT 限定词,那么在跟着发生的邮件对话期间,可以使用编辑程序发送、答复和转发消息。您也可以使用 /EDIT 限定词的关键字设置 Mail 的默认值。

要在只当答复消息时调用编辑程序,可使用 MAIL/EDIT 命令的 REPLY 关键字。要调用编辑程序并显示您要答复的消息,使用 REPLY 关键字及 =EXTRACT 任选项。如果不为 /EDIT 指定关键字,那么默认是 /EDIT=(SEND,REPLY)。

要发送或答复消息,就必须退出编辑程序。要取消 SEND 或 REPLY 命令,输入 QUIT 命令退出编辑程序。

例子

在以下例子中,为每个发送或转发的邮件消息调用编辑程序:


$ MAIL/EDIT=(SEND,FORWARD)

在以下例子中,要答复每条消息时将调用编辑程序:


$ MAIL/EDIT=(REPLY)

在以下例子中,将调用编辑程序,并且每次答复消息时要答复的消息将包括在文本中:


$ MAIL/EDIT=(REPLY=EXTRACT)


前页 后页 目录 索引