[an error occurred while processing this directive]

HP OpenVMS Systems Documentation

Content starts here

OpenVMS 用户手册


前页 目录 索引


第 7 章
使用 Mail 与其他人通信

OpenVMS Mail 公用程序 (MAIL) 让您把消息发送给在您的系统上或使用 Compaq TCP/IP for OpenVMS 或 DECnet 网络连接到您的系统上的任何其他计算机上的其他用户。本章描述:

  • 调用和退出 Mail
  • 读取消息
  • 发送消息
  • 通过网络发送邮件
  • 发送消息给多个用户
  • 在 Mail 中处理文件
  • 发送消息的其他方法
  • 组织消息
  • 删除消息
  • 打印邮件消息
  • 保护邮件文件
  • 在 Mail 环境中使用文本编辑程序
  • 用户化您的 Mail 环境
  • Mail 命令概要
  • 使用 MIME 公用程序

欲知详情,请参阅以下:

  • 在 DCL 提示下输入 HELP MAIL 命令或者在 MAIL> 提示下输入 HELP 命令,可获得有关 Mail 命令和限定词的详情。
  • OpenVMS System Manager's Manual,有关控制通过用户帐户使用 Mail 的详情。
  • 在 DCL 提示下输入 HELP TCPIP_SERVICES,有关 TCP/IP 邮件命令和限定词的详情。
  • Digital TCP/IP Services for OpenVMS User's Guide,有关使用 TCP/IP 服务发送和接收邮件的详情。

下图展示邮件消息及其组件的样例。


7.1 调用和退出 Mail

以下几节描述如何调用和退出 Mail。

7.1.1 调用 Mail

要调用 Mail 公用程序,输入 DCL 命令 MAIL,如下所示:


$ MAIL
MAIL>
一旦处于 Mail 公用程序,在 MAIL> 提示下通过输入适当命令然后按下 Enter 键,您可执行以下操作:
  • 读取邮件消息
  • 发送邮件消息
  • 答复邮件消息
  • 转发邮件消息
  • 把邮件消息组织到文件和文件夹
  • 删除邮件消息
  • 打印邮件消息

7.1.2 退出 Mail 

要退出 Mail,在 MAIL> 提示下输入 EXIT 命令,如下所示:


MAIL> EXIT
$

按下 Ctrl/Z 或使用 QUIT 命令,也可以退出 Mail。

7.2 读取消息

Mail 把接收的消息存储在邮件文件中,其默认文件类型是 .MAI。按照默认,在这个文件中,Mail 提供两个文件夹存储旧的和新的消息。新消息自动放置在名为 NEWMAIL 的文件夹;旧消息放置在名为 MAIL 的文件夹中。在您读取新消息后,该消息自动从 NEWMAIL 文件夹移动到 MAIL 文件夹,除非您输入 FILE、MOVE 或 DELETE 命令。在您读取所有新邮件消息并且选择另一个文件夹或退出 Mail 后,Mail 删除 NEWMAIL 文件夹。

7.2.1 读取新邮件

当您注册到您的帐户并接收到一条邮件消息时,Mail 会通知您。例如,如果用户 FELLINI 发来消息,则显示通知如下:


New mail on node DOODAH from STONE::FELLINI     (10:02:23)

要读取新消息,调用 Mail 并在 MAIL> 提示下按下 Enter 键,如下所示:


$  MAIL
You have 1 new message.
MAIL>

如果您有一条以上新消息,在 MAIL> 提示下按下 Enter 键可读取其他消息。当您读取了所有新消息时,Mail 发出消息 "%MAIL-E-NOMOREMSG,no more messages" 并且继续提示命令直到您退出 Mail。

在 Mail 时,如果您接收到一条邮件消息,那么输入 READ/NEW 命令就可读取新消息。

7.2.2 读取旧消息

要重读在默认 Mail 文件夹中的旧邮件消息,使用以下过程:

步骤 任务
1 在 MAIL> 提示下输入 SELECT 命令。例如:
MAIL> SELECT MAIL


Mail 使您处于名为 MAIL 的文件夹中。

2 要读取默认邮件文件夹中的第一条消息,在 MAIL> 提示下按下 Enter 键或输入 READ 命令。

Mail 显示默认邮件文件夹中的第一条消息 (1)。

3 要显示下一条消息,按下 Enter 键。

如果消息太长而不能在一屏显示,按下 Enter 键显示消息的后面部分。

要跳过消息的剩余部分并显示下一条消息,输入 NEXT 命令。

要读取默认 MAIL 文件夹中的特定消息,使用以下过程:

步骤 任务
1 在 MAIL> 提示下输入 DIRECTORY 命令。

要从列表中选择一部分消息,使用 DIRECTORY 命令限定词 /FROM 或 /SUBJECT。

2 在 MAIL> 提示下输入要读取的消息编号。

Mail 显示选定的消息。

在以下例子中,DIRECTORY 命令用来显示旧消息,然后标号为 2 的消息被选定读取:


MAIL> DIRECTORY
                                                          MAIL
# From              Date              Subject
1 STONE::FELLINI    11-DEC-1999       Sales presentation on May 11
2 DOODAH::JONES     11-DEC-1999       Status
MAIL> 2

7.2.3 搜索消息

如果有许多消息,使用 SEARCH 命令在一个或多个消息中查找一个字符串,您可以找出特定的消息。要搜索一个字符串,把该字符串指定为 SEARCH 命令的一个参数。

每次指定新的字符串,SEARCH 命令就从消息编号 1 开始搜索。要继续搜索包含指定字符串消息的文件夹,使用SEARCH 命令但不指定参数。要在不同的文件夹中搜索同样的字符串,输入 SELECT 或 SET FOLDER folder-name 命令,并且使用不指定参数的 SEARCH 命令。

在以下例子中,搜索当前文件夹的消息,来查找第一条包含字符串 appointment 的消息:


MAIL> SEARCH "appointment"

7.3 发送消息

要发送邮件消息给系统的任何用户,执行以下几步:

步骤 任务
1 在 MAIL> 提示下输入 SEND。

Mail 提示您输入接收消息的用户名。

2 输入接收消息的用户名,并按下 Enter 键。

Mail 提示您输入消息主题。

3 输入消息主题并按下 Enter 键。输入这个信息是可选的。

Mail 提示您输入消息文本。

4 输入消息文本,或者只是按下 Enter 键。输入这个信息是可选的。
5 按下 Ctrl/Z 可发送这条消息。如果决定不发送这条消息,按下 Ctrl/C,它取消发送操作而不从 Mail 退出。

在以下例子中,发送一条消息给用户 THOMPSON:


MAIL> SEND
To: THOMPSON
Subj: Meeting on April 20
Enter your message below. Press CTRL/Z when complete, or CTRL/C to quit:
I have some new ideas about the Hubbub Cola account.
Let me know  when you are available to talk about them.


--Jeff

7.4 通过网络发送邮件

以下几节描述如何在网络上发送邮件。

7.4.1 指定您的网络协议

当您接收到一条消息时,Mail 解释指定地址如下:

  • 如果地址的节点部分包含一个句点 (.),就把该地址解释为一个互连网地址。按照默认,Mail 使用 SMTP 协议;除非您以前设置系统使用不同的互连网协议,方法是使用 MAIL$INTERNET_TRANSPORT 逻辑名定义备用的协议 。
  • 如果地址的节点部分不包含一个句点,就把该地址解释为一个 DECnet 地址。

然而,可以用户化 Mail 环境强制系统选择一个特定协议。当邮件地址对互连网和 DECnet 都解释为有效时,这个任选项是有用的。

要指定协议,可以定义 MAIL$INTERNET_MODE 逻辑名,如下所示:

  • HYBRID (默认)
    如果地址的节点部分包含一个句点 (.)),Mail 使用互连网协议。如果没有句点,Mail 使用 DECnet 协议。
  • DECNET
    Mail 总是把地址的节点组件解释为一个 DECnet 节点说明。
  • SMTP
    Mail 总是把地址的节点部分解释为一个互连网地址说明。默认传递是 SMTP,除非您使用 MAIL$INTERNET_TRANSPORT 逻辑定义一个备用的互连网传递。

要使用这些方法修改 Mail 环境,Compaq 建议在 LOGIN.COM 文件中定义 MAIL$INTERNET_MODE 和 MAIL$INTERNET_TRANSPORT 逻辑名。(有关使用和定义逻辑名的完整信息,请参阅第 11 章。)

例如,如果系统设置使用默认 (HYBRID),那么邮件地址 smith@pluto 被解释为 DECnet 地址,因为在这个地址中没有句点。然而,如果要 Mail 使用 SMTP 而不是 DECnet,可以在 LOGIN.COM 文件中添加以下一行:


$ DEFINE MAIL$INTERNET_MODE SMTP

然后,当您指定 smith@pluto 时,Mail 解释这个地址为一个互连网地址并使用 SMTP 协议 (例如,SMTP%"smith@pluto.xyz.dec.com")。

7.4.2 指定节点名

如果您的计算机系统是网络的一部分,您可以发送邮件给网络上的任何其他用户。如果您发送邮件给不同节点的某人,那么在 To: 提示中输入那个用户的节点名和用户名。如果用户名包含特殊字符或空格,就必须把用户名括入引号 ("") 内。使用以下格式:


nodename::username

如果对这个远程节点的网络连接不可用,Mail 就显示一条出错消息。等一会儿,然后再发送这条消息。

有关指定节点名的详情,请参阅 3.1.6 节

在以下例子中,发送一条消息给节点 CHEETA 上的用户 HIGGINS:


MAIL> SEND
To: CHEETA::HIGGINS

7.4.3 使用互连网邮件地址

您也可以使用完整的互连网邮件地址发送邮件给网络上的用户。这些地址是普通的,特别是如果您要发送邮件给您的组织之外的用户。


username@company.com

在 To: 提示中,输入您要发送邮件到的用户的完整互连网地址。这些地址很少是大小写敏感的。


MAIL> SEND
To: J_SMITH@COMPANYNAME.COM, Kate.Muir@school.edu

7.4.4 使用逻辑节点名

您可以使用逻辑名表示用户的名称和节点;然后可以使用逻辑名发送邮件。注意,Mail 忽略节点名或逻辑名的任何存取控制信息。

在以下例子中,HENRY 用来代替 CHEETA::HIGGINS。首先,定义逻辑名 (HENRY),然后用它来代替用户名和节点:


$ DEFINE HENRY CHEETA::HIGGINS
$ MAIL
MAIL> SEND
To: HENRY

7.5 发送消息给多个用户

以下几节描述如何发送邮件给一个以上用户。

7.5.1 使用个人名

要同时发送邮件给几个用户,可以使用以下两种方法之一: 在 To: 提示中使用个别用户名或者使用分发名单。要通过用户名发送同一消息给几个在同一节点上的用户,可在 To: 提示中输入用户名并用逗号或空格分开。

在以下例子中,发送一条消息给 Thompson、Jones 和 Barney:


MAIL> SEND
To:      THOMPSON,JONES,BARNEY
Subj:    Meeting on January 9

7.5.2 建立分发名单

分发名单是包含一系列用户和他们的节点名的文件。必须使用文本编辑程序建立分发名单。分发名单不在 Mail 公用程序内建立。

您的开文件定额 (与帐户关联的限制) 确定您可以发送邮件 (同时) 到不同节点的数目和可以嵌套分发名单的深度。如果超过这个定额,Mail 显示一条出错消息。请求系统管理员增加您的定额,或者一次成批发送邮件到较少的节点。

按照默认,系统寻找文件类型为 .DIS 的分发名单文件。如果包含分发名单的文件有不同的文件类型,那么在 To: 提示中指定文件名和文件类型。如果您在一个目录中调用 Mail 而包含分发名单的文件在另一个目录,那么在 To: 提示中输入分发名单的完整目录名。

要建立分发名单,使用以下过程:

步骤 任务
1 使用文本编辑程序建立一个分发名单文件,文件类型为 .DIS。
2 在文件中每行键入一个用户名。
3 要在文件中包括其他分发名单的名称 ("嵌套" 列表),指定一个 at 符号 (@) 后面跟随那个分发名单的名称。
4 要在这个文件中包括注释,在注释之前输入感叹号 (!)。

以下例子展示一个分发名单文件:


! ALLBUDGET.DIS
!
! Budget Committee Members
@BUDGET         ! listed in BUDGET.DIS.
! Staff
  Thompson
  BRUTUS::JONES
  PORTIA::BARNEY

如果文件 BUDGET.DIS 不在您建立的新分发名单文件 (ALLBUDGET.DIS) 目录中,那么在新的分发文件中包括 BUDGET.DIS 的文件说明。依赖于建立 ALLBUDGET.DIS 的位置,您或许要指定 BUDGET.DIS 所在的设备和目录。(有关文件说明的详情,请参阅第 3 章。)

7.5.3 发送消息给分发名单

要使用分发名单发送邮件给几个用户,使用以下过程:

步骤 任务
1 调用 Mail。
2 在 MAIL> 提示下键入 SEND 并按下 Enter 键。
3 在 To: 提示中,键入一个 at 符号 (@) 和分发名单的文件名。按下 Enter 键。
4 在 Subj: 提示下键入消息主题,并按下 Enter 键。
5 在文本提示下,输入消息的文本。

在以下例子中,发送一条消息给分发名单 ALLBUDGET.DIS:


MAIL> SEND
To: @ALLBUDGET
Subj: Tomorrow's Meeting
Enter your message below. Press CTRL/Z when complete, or CTRL/C to quit:

The meeting about the Hubbub Cola account is tomorrow at 2:00.

--Jeff

您也可以从 DCL 级发送一个文件给分发名单。如果省略文件类型 .DIS,要把 at 符号 (@) 和文件名放入引号 ("") 内,从而把文件标识为一个分发名单。要包括一个主题,使用 MAIL 命令和 /SUBJECT 限定词。

以下例子发送文件 MEETING.TXT 给用户 THOMAS 和分发名单 FRIENDS.DIS:


$ MAIL/SUBJECT="update" MEETING THOMAS,"@FRIENDS.DIS"

以下例子发送文件 NOTICE.TXT 给分发名单 WRITERS.DIS。在这里,没有包括 /SUBJECT 限定词,因而该消息发送时没有主题。


$ MAIL NOTICE "@WRITERS"

7.6 在 Mail 中处理文件

您可以在 Mail 中或从 DCL 级发送文件给其他用户。在 Mail 中使用以下过程发送一个文件:

步骤 任务
1 在 MAIL> 提示下,输入 SEND 和您要发送的文件名。
2 在 To: 提示中,输入接收文件的用户名。
3 在 Subj: 提示中,输入文件的主题。
4 按下 Enter 键发送文件。要取消发送操作,按下 Ctrl/C 或 Ctrl/Y。Ctrl/C 使您保留在 Mail  中;而 Ctrl/Y 返回 DCL 级。

在以下例子中,文件 MEMO.TXT 发送给用户 EDGELL:


MAIL> SEND MEMO.TXT
To: EDGELL
Subj: Another memo

通过邮件发送文件,注意以下限制:

  • 使用 COPY 命令复制文件时,操作系统执行数据完整性检查。通过邮件发送文件时就不进行这个检查,因而当发送外部 (例如可执行的) 文件时就可能出现被破坏的文件。
  • 发送大的文件时要进行判断。有些系统的用户可能不能接收大的文件 (例如 POSTSCRIPT 文件)。

7.6.1 发送 DDIF 文件

如果文件是一个按照 DIGITAL 文档交换格式 (DDIF) 说明构成的复合文档,Mail 将保持 OpenVMS RMS 文件标签和 DDIF 语义,但这一点只适合于 OpenVMS AXP V1.0 或 VAX/VMS V5.2-2 或以后版本的系统。如果您设法发送包含 DDIF 文件的邮件消息给非 OpenVMS 的操作系统,或者发送给在 OpenVMS AXP V1.0 或 VAX/VMS V5.2-2 之前版本的 OpenVMS 系统,Mail 将返回一条出错消息。

7.6.2 从 DCL 发送文件

从 DCL 级发送文件时,Mail 被调用但是不进入交互对话期,也不会看到 MAIL> 提示。文件发出时,自动返回到 DCL 级。在您键入 MAIL 命令和适当限定词后,按下 Enter 键就可发送文件,或者按下 Ctrl/C 取消发送操作。

也要注意以下规则:

  • 在文件说明中不允许通配符。如果省略文件类型,默认文件类型是 .TXT。
  • 如果指定 SYS$INPUT 作为文件说明,就提示您输入消息文本 (同时仍然保持在 DCL 级)。有关使用 SYS$INPUT 的详情,请参阅第 11 章
  • 当您 从 DCL 级发送文件时,如果可选 /SUBJECT 限定词的变元包含任何空格或非字母数字字符,就必须把它括入引号内。

在以下例子中,从 DCL 级把文件 MEMO.TXT 发送给节点 CHEETA 的用户 EDGELL:


$ MAIL/SUBJECT="Another memo" MEMO.TXT CHEETA::EDGELL

在以下例子中,因为文件名指定为 SYS$INPUT,因此提示用户输入消息的文本:


$ MAIL SYS$INPUT:
To: ARMSTRONG
Enter your message below.  Press CTRL/Z when complete, or CTRL/C to quit:
The text of the message is here.
[Ctrl/Z]
$


前页 后页 目录 索引