mail、Mail 或 mailx 命令

用途

发送和接收邮件。

语法

要阅读待收邮件,请输入:

mail -e

mail -f [ -dlHNn ] [ -F ] [ FileName ]

mail [ -dlHNn ] [ -F ] [ -u UserID ]

要发送邮件,请输入:

mail [ -s Subject ] [ -c Address(es) ] [ -dinNv ] Address

描述

mail 命令调用邮件实用程序,使您能够:

  • 读取新来的邮件。
  • 发送邮件。

另外,可以使用可用的选项和子命令来定制您发送和接收邮件的方法。

mail 命令可用于系统邮箱和个人邮箱两类邮箱。

新来的邮件存储在系统邮箱内。缺省情况下,用户的系统邮箱是位于 /var/spool/mail 目录中的一个文件。邮箱文件以用户标识命名。例如,如果用户标识是 jeanne,那么系统邮箱是 /var/spool/mail/jeanne

缺省情况下,当用户读取、删除或保存在其系统邮箱内的所有邮件时,邮箱被删除。要不删除邮箱,请使用 set 子命令来设置 keep 选项。

除系统邮箱以外,还有一个用户的个人邮箱。如果读取消息时没有删除消息或将其保存到文件,那么消息将被标志并移动到个人邮箱。缺省情况下,个人邮箱为 $HOME/mbox。例如,如果主目录是 /home/lance,那么个人邮箱为 /home/lance/mbox。将消息移到一个文件夹内或将其删除之前,消息会一直保留在个人邮箱中。

文件夹提供了有组织地保存消息的方法。您可以根据需要的数量创建文件夹。根据文件夹中所包含的消息的主题来命名每个文件夹。

注:

  • 对一个邮箱运行 mail 命令的多个实例时,结果是不可预测的。
  • 虽然命令名不相同,但 mailMail
    mailx 命令提供完全相同的功能。

检查邮箱的内容

要处理邮件,请在系统提示符下输入 mail。邮件程序对于系统邮箱中的每一封邮件显示一行条目:

Mail [5.2 UCB] [AIX 7.1] Type ? for help.
"/var/spool/mail/lance": 2 messages 2 new
>N 1 karen         Thu Sep 17 14:36 13/359 "Dept Meeting"
 N 2 lance@zeus    Thu Sep 17 15:06 10/350 "Delay"
 N 3 karen         Thu Sep 17 14:36 13/359 "Meeting Cancel"

当前消息在头摘要的行首标有 >。

每一行条目显示以下字段:

邮箱的项目描述

项目 描述
status 表示一封邮件的当前类。状态可以是以下的任何形式:

N
新消息
P
要保存在系统邮箱内的消息。
U
未读消息。未读消息就是最后一次调用 Mail 程序时在邮箱中列出但是没有检查其内容的消息。
*
被保存或写到一个文件或文件夹的消息。

没有状态的消息表示该消息已经读取但是没有删除或保存。

number 标识消息的数字的顺序。
sender 标识发送邮件者的地址。
date 指定接收消息的日期。
size 定义包含在信件中的行数和字符数(包含标题)。
subject 标识消息的主题。

最后,Mail 程序跟在邮件列表后,显示邮箱提示符,缺省情况下为 ?,表示在等待输入。

标志

标志描述

项目 描述
-c Address(es) 指定要向其发送消息副本的用户列表。可以指定一个或多个地址。当指定多于一个地址时,地址列表必须在引号("")内。
-d 指定与用户邮箱相关联的调试信息

  • uid
  • 用户名
  • 邮件文件夹(系统邮箱)
  • 死信(系统会将未完成的消息保存在 $HOMEdead.letter 文件中)
  • mbox (个人邮箱)

注:

程序处于调试模式不发送信息。
-e 测试系统邮箱内是否有邮件。如果存在要读取的邮件,mail 实用程序不会写入任何东西并带一个成功返回码而退出。
-f FileName 从指定的文件读取消息。如果没有指定文件操作数,那么从 mbox 读取消息。从读取消息退出时,未删除的消息会写到这个文件中。
-F 将消息记录在以收件人命名的文件中。该名称是在邮件标题中 To: 行的地址的最前部分。如果设置则覆盖 record 变量。
-H 仅写标题摘要。
-i 忽略 tty 中断信号。
-n 禁止读取 /usr/share/lib/Mail.rc 文件。
-l From User 字段扩展为 256 个字符以处理长用户名。
-N 禁止标题的初始打印。
-s Subject 指定将创建的消息的主题。
-u UserID 指定与执行 mail
-f /var/spool/mail/
UserID 等同的缩写。为指定的用户的邮箱启动 Mail 程序。必须有指定邮箱的访问许可权。
-v 将 Mail 程序置为详细方式。显示传送到用户终端的详细信息。

环境变量

以下环境变量影响到邮件的执行:

环境变量描述

项目 描述
DEAD 如果中断或发送出错而保存部分消息的文件的路径名。
EDITOR 当使用 edit~e 命令时使用的编辑器的路径名。
HOME 用户主目录的路径名。
LISTER 给定 folders 命令时,字符串表示将文件夹目录内容写至标准输出中的命令。可作为 sh -c 命令的命令字符串(command_string)操作数的可接受的任意字符串都是有效的。如果此变量为空或没有设置,那么输出命令将为 ls。缺省值是未设置的。
MAILBOX mail 命令指定系统邮箱位置。MAILBOX 值是 mail 命令搜索邮件消息的位置。如果没有指定 MAILBOX 环境变量,那么系统缺省值为 /var/spool/mail 目录。
MAILRC 个人启动文件的路径名。缺省值为 $HOME/.mailrc
MBOX 从已读取的系统邮箱保存消息的个人邮箱的路径名。exit 命令覆盖此功能,就如同将消息明确地保存到另一个文件中。缺省值为 $HOME/mbox
PAGER 字符串表示将输出写到终端的输出过滤器或分页命令。对作为 sh-c 命令的命令字符串(command_string)操作数接受的任意字符串都是有效的。当标准输出为终端设备时,如果邮件内部变量 crt 被设置到一个小于消息中的行数的值,那么消息输出将通过该命令输送。如果 PAGER 变量为空或没有设置,那么 paginator 是 pg shell 命令。
SHELL 首选的命令解释器的路径名。
VISUAL 当使用 visual 命令或 ~v 命令跳转(command-escape)时调用的实用程序的路径名。如果不设置这个变量,那么全屏编辑器为 vi

Mail 中的内部变量

Mail 中的内部变量

项目 描述
allnet 等同地处理登录名组件匹配的所有网络名。msglist 消息规范行为相似。缺省值为 noallnet
append 将保存在邮箱中的消息添加到 $HOME/mbox 文件结尾,而不是文件开头。缺省值为 noappend
ask, asksub 如果没有在命令行中用 -s 选项指定,那么提示输入每个消息主题。如果不希望创建主题字段,请在提示符下按 Enter 键。不可能同时设置 asknoasksubnoaskasksub。缺省值为 asksub
askbcc 提示添加到暗送副本列表的人员的地址。如果不希望发送暗送副本,请在提示符处按 Enter 键。
askcc 提示应该接收消息副本的人员的地址。如果不希望发送副本,请在提示符处按 Enter 键。
autoprint 设置 delete 子命令来删除当前消息并显示下一条消息。
crt 指定显示消息时,在使用任何输出过滤器或分页之前消息必须包含的最小行数。
debug 显示调试信息。在调试方式下不发送消息。这与在命令行中指定 -d 标志相同。
dot 将行中输入的句点解释为正在发送的消息的结尾。
escape=c 设置命令转义字符为字符 c。缺省情况下,命令转义字符为 ~ (代字号)。
Replyall, flipr 反转 RespondrespondReplyreply 命令的含义。缺省值为 noflipr
folder=directory 存储邮件文件夹的目录名。定义目录之后,当一起使用 mailbox 子命令和 FileName 参数时,可以使用 +(加号)记号来引用目录。
header 当以接收方式进入邮件时,启用写标题摘要。缺省值为 header
hold 保留已读取但是还没有删除或存储在系统邮箱的非个人邮箱的消息。缺省值为 nohold
ignore 进入消息时忽略中断。以 @ (at) 字符回显中断。
ignoreeof 设置 mail 命令拒绝 Ctrl+D 按键顺序作为消息的结束。只有通过在一行由自身或 ~. 命令转义来输入一个 .(句点)才可以终止输入。缺省值为 noignoreeof
indentprefix=string 作为前缀添加到由 ~m 命令转义来插入消息的每一行的字符串。这个变量缺省值为一个制表符。
keep 当系统邮箱、第二邮箱或 mbox 为空时,将其长度截为零而不是删除它。缺省值为 nokeep
keepsave 保持已经用 (s)ave(w)rite 子命令保存在系统邮箱中的消息,而不将其删除。缺省值为 nokeepsave
metoo 如果发件人的名称是别名的一部分,那么在别名扩展里包含发件人。缺省情况下,扩展别名删除发件人。
onehop 当响应那些最初发送到几个收件人的消息时,其他的接收方地址通常会强制地相对最初作者的机器来响应。该标志禁用收件人地址修改,提高了网络效率,在网络中所有机器可以直接发送到所有其他的机器(即一个中继范围)。缺省值为 noonehop
outfolder 用来记录发出消息的文件定位在以 folder 变量指定的目录,除非是绝对的路径名。缺省值为 nooutfolder。查看 recordfolder 变量。
page 在每一个通过 pipe 命令创建的管道发送的消息后插入换页符。缺省值为 nopage
prompt=string 设置命令方式提示符为 string。如果 string 为空或已设置 noprompt,那么不出现提示符。缺省值是用“?”字符串提示。
quiet 当输入邮件时避免写打开的消息和版本。缺省值为 noquiet
record=file 定义在其中记录所有发出邮件的文件。缺省值为 norecord
save 启用在中断或传送错误时将消息保存在 dead.letter 文件中。缺省值为 save
screen=number headersz 命令设置在一屏标题中的行数。
sendmail=shell_command 发送消息的备用命令。
sendwait 在返回之前等待后台邮件发送程序完成。缺省值为 nosendwait
showto 当消息发件人是调用邮件的用户时,在标题摘要的 To: 行而不是 From: 行中写信息。缺省值为 noshowto
sign=string 当给定 ~a 命令转义时,将 string 插入到消息文本中。缺省值为 nosign。字符序列 /t/n 在字符串内被分别识别为制表符和换行符。
Sign=string 当给定 ~A 命令转义时,将 string 插入到消息文本中。缺省值为 noSign
toplines=number top 子命令显示的行数。
verbose 在终端上显示实际传送的消息。这与在命令行中指定 -v 标志相同。

设置环境变量

Bourne shell(bsh 命令)使用并检查以下变量。可以在 $HOME/.profile 中设置这些变量。

Bourne shell 程序的项目描述

项目 描述
MAIL 指定由 Bourne shell 检查并确定您是否有邮件的用户系统邮箱的位置和名称。如果系统邮箱非空,那么 Bourne shell 发送有新邮件的消息。Bourne shell 基于 MAILCHECK 环境变量的值来周期地检查系统邮箱。
MAILCHECK 指定 Bourne shell 检查系统邮箱中邮件的间隔。
MAILMSG 指定有邮件时由系统发送到控制台 shell 的消息。缺省消息与以下内容相似:

您有新邮件

安全性

RBAC 用户和可信 AIX 用户注意:

此命令可以执行特权操作。只有特权用户才能运行特权操作。有关权限与特权的更多信息,请参阅安全性中的『特权命令数据库』。要获取与此命令相关联的特权和权限的列表,请参阅 lssecattr 命令或 getcmdattr 子命令。

示例

  1. 要启动 Mail 程序并列出邮箱中的消息,请在命令行提示符下输入以下信息:
    邮件

    mail 命令列出在系统邮箱中的每条消息。邮件系统然后显示邮箱提示符(?)来表示等待输入。当您看到此提示符时,请输入邮箱子命令。

    要查看子命令列表,请输入:

    ?

    本条目列出 Mail 子命令。

  2. 要将消息 letter 发送到收件人 user1@host1 并抄送给 user2@host2user3@host3,请输入:
    mail -c "user2@host2 user3@host3" user1@host1<letter
  3. 要查看个人邮箱的内容,请输入:
    mail -f

    该命令显示在个人邮箱 $HOME/mbox 中的消息列表。

  4. 要查看指定邮件文件夹的内容,请输入:
    mail -f +dept

    该命令显示在 dept 文件夹中的消息列表。

  5. 要将消息发送到本地系统的用户,请输入:
    mail ron

    完成将消息输入到用户 ron 时,按 Enter 键以及 .(句点)或 Ctrl+D 来退出编辑器并发送消息。要确定某用户是否在本地系统,请在 /etc/passwd 文件中查看该用户名。

    如果消息成功发送,将不会收到通知。如果消息无法发送,将发送给您一个错误信息。

  6. 要将一个文件通过邮件发送到本地系统的另一位用户,请输入:
    mail karen < letter1

    该命令将文件 letter1 的内容发送到本地系统的用户 karen。命令发送文件后,Mail 程序显示命令行提示符。

  7. 要将消息发送到一个远程系统用户,请输入:
    mail dale@zeus

    现在可以创建一个到 dale 的消息。在本示例中,发送消息到远程系统 zeus 上的 dale 用户。要将消息发送到通过网络连接到您的系统的另一个系统上的用户,您必须知道那个人的登录标识和另一个系统的名称。

mail、Mail 和 mailx 命令的邮箱子命令

从邮件提示符 ?(问号)下可以输入子命令来操作邮箱中的邮件。当子命令一次操作多个消息时使用 MessageList 参数。使用带 FileName 参数的子命令来操作文件或文件夹。这些参数在Networks and communication management『邮件命令和子命令』中进行了讨论。

以下列表描述 Mailbox 子命令及其功能:

邮箱子命令

项目 描述
= 回显当前消息的数目。
# 注释在邮件脚本文件写入注释的字符。
- 显示前一条消息。
? 显示 mailbox 子命令的简要摘要。与 help 子命令相同。
!Command 执行由 Command 指定的工作站 shell 命令。
alias a)不带参数,显示所有当前定义的别名及其相应地址。带一个参数,显示一个别名。带多个参数,创建一个新别名或更改旧的别名。与使用 group 子命令相同。
alternates AlternatesList alt)如果您在几台机器上有帐户,那么 alternates 子命令是有用的。使用此子命令来通知 Mail 程序列在 AlternatesList 内的所有地址均指向您。当使用 reply 子命令来回复消息时,Mail 程序不将消息副本发送到任何 AlternatesList 中给定的地址。如果您输入不带参数的 alternates 子命令,那么 Mail 程序显示当前备用名称的集合。
chdir Directory cd)更改工作目录到 Directory 指定的目录。如果不给定目录,那么该命令更改到您的登录目录。
copy [MessageList] File cco)将 MessageList 中的每一条消息附加到 File 结尾。在用户的终端上,在引号内显示跟有行数和字符数的文件名。当您退出时不删除任何消息。
Copy [MessageList] C)将指定的消息保存在文件中,该文件的名称取自要保存的消息的作者,且不将消息标记为已保存。否则,该命令与 Save 子命令相同。
delete [MessageList] d)当退出程序时将 MessageList 中的消息标记为已删除。输入不带消息列表的 d 子命令会删除当前消息。已删除的消息不保存在 $HOME/mbox 文件中,也不可用于大多数的其他命令。然而,在相同的邮箱会话中时可以使用 undelete 子命令来恢复已经删除的消息。如果删除了消息并更改到另一个邮箱或用 quit 子命令退出了邮箱,那么已删除的消息就无法再调用。
discard [FieldList] (di) 与 ignore 子命令相同。

注:

retain 子命令覆盖 discard 子命令。
dp 删除当前消息并显示下一条消息。如果没有下一条消息,那么 Mail 程序显示 EOF。与 dt 子命令相同。
dt 删除当前消息并显示下一条消息。如果没有下一条消息,那么 Mail 程序显示 EOF。与 dp 子命令相同。
echo String 在命令行上显示字符串 String
edit [MessageList] e)使用 MessageList 作为输入文件来启动备用编辑器。要定义备用编辑器,请使用 set EDITOR= 语句或在 $HOME/.mailrc 文件中放置此条命令。用 MessageList 参数指定的任何消息保留在编辑器会话的过程中所做的更改。
exit exx)离开邮箱,不更改邮箱的原始内容而返回到操作系统。邮箱返回到 Mail 程序启动时的环境。标记为要被删除的消息不会被删除。与 xit 子命令相同。
file [Name] fi)与 folder 子命令相同。
folder [Name] fo)切换到新邮件文件或文件夹。子命令不带此参数时显示当前邮箱名。如果包含一个参数,它存储当前邮箱更改(例如已删除的消息)并读取由 Name 参数指定的新邮箱。与 file 子命令相同。

Name 的一些特殊约定:

#
引用以前的文件。
%
引用系统邮箱(/var/spool/mail/User ID)。
&
引用个人邮箱($HOME/mbox)。
+Name
引用文件夹目录中的文件。
文件夹 列出文件夹目录中的文件夹名。
followup [message] fo)响应消息,并将响应记录在文件中,该文件的名称取自消息的作者。如果设置则覆盖 record 变量。
Followup [MessageList] F)响应 msglist 中的第一条消息,并将消息发送到 msglist 中的每一条消息的作者。主题行取自第一条消息,且响应记录在文件中,该文件的名称取自第一条消息的作者。
from [MessageList] f)显示 MessageList 中的消息标题。
group g)与 alias 子命令相同。
headers [Message] h)列出在当前消息组(缺省情况下每个消息组包含 20 条消息;用 set screen= 语句来更改消息组)的标题。如果邮箱包含的消息比一次能显示在屏幕上的消息还要多,那么仅显示关于第一个消息组的信息。要查看关于其他消息的信息,使用带有下一个消息范围中的消息数的 h 子命令,或使用 z 子命令来更改当前的消息组。
help 显示 mailbox 子命令的简要摘要。与 ? 子命令相同。
hold [MessageList] ho)标志在 MessageList 中的每一条消息都保持在系统邮箱(/var/spool/mail/UserID)中,而不是在 $HOME/mbox 文件中。不覆盖 delete 子命令。与 preserve 子命令相同。

mail 子命令的有条件执行

项目 描述
if Conditionelseendif mail 子命令的条件的执行结构。跟在 if 后的子命令在条件 Condition 为真时执行。跟在 else 后的子命令在条件 Condition 不为真时执行。else 不是必要的。endif 结束此结构并且是必要的。Condition 可以是接收(接收邮件)或发送(发送邮件)。
ignore [FieldList]
FieldList 中的标题字段添加到要忽略的字段列表。当用 typeprint 子命令查看消息时,不显示忽略的字段。使用此子命令来禁止机器生成的标题字段。使用 TypePrint 子命令可打印完整消息,包括忽略的字段。当使用 typeprint 子命令来显示消息时,不带参数的 ignore 子命令列出不包括的所有标题字段。与 discard 子命令相同。
list
l)显示所有邮箱子命令的列表,不解释其功能。
mail AddressList
m)启动邮件编辑器。使您能够创建消息并发送到在 AddressList 中指定的人。新建消息与任何接收消息是独立的。
mbox [MessageList]
表示当退出 Mail 程序时在 MessageList 中的消息将被发送到个人邮箱($HOME/mbox)。如果查看系统邮箱(/var/spool/mail/UserID)并且没有设置 hold 选项,那么此操作是对已读取的消息的缺省操作。
more [MessageList]
mo)显示在MessageList 中的消息并使用定义的 pager 程序来控制显示到屏幕。与 page 子命令相同。
More [MessageList]
Mo)与 more 子命令类似,但是显示忽略的标题字段。
new [MessageList]
MessageList 中的每条消息标记为读。与 NewunreadUnread 子命令相同。
New [MessageList]
MessageList 中的每条消息标记为读。与 NewunreadUnread 子命令相同。
next [Message]
n)使邮箱中的下一条消息成为当前消息并显示该消息。带一个参数列表的该命令显示下一条匹配的消息。
page [MessageList]
pa)显示在 MessageList 中的消息并使用定义的 pager 程序来控制显示到屏幕。与 more 子命令相同。
Page [MessageList]
Pa)与 page 子命令类似,但是显示忽略的标题字段。

pi 命令

项目 描述
pipe [[msglist
command]]
| [[msglist] command]]
pi)消息通过调用 -ccommand 参数指定的 SHELL 命令解释器的给定命令进行输送。该命令必须给出单独的参数。可以通过引用来完成。如果不给定参数,那么当前消息将通过由 cmd 变量的值来指定的命令进行输送。如果设置了page 变量,那么将在每个消息后插入换页符。
preserve pre)与 hold 子命令相同。
print [MessageList] p)显示指定的消息的文本。与 type 子命令相同。
Print [MessageList] P)显示带有忽略标题字段的特定消息的内容。与 Type 子命令相同。
quit q)离开邮箱并返回到操作系统。将所有已读取(不是删除或保存的)的消息存储在个人邮箱($HOME/mbox)中。将所有已标记为要删除的消息从邮箱中删除并且无法恢复。将 holdpreserve 选项标志的所有消息以及没有浏览的消息保存到系统邮箱(/var/spool/mail/UserID)中。当用 -f 标志编辑邮箱文件时,如果给出了 quit 子命令,那么编辑的文件将保存所做的更改。如果编辑文件不能保存,那么 Mail 程序不会退出。使用 exit 子命令退出而不保存更改。
reply [Message] r)允许回复消息的发件人和其他所有接收到消息副本的人。与 respond 子命令相同。
Reply [Message] R)仅允许回复消息的发件人。与 Respond 子命令相同。
respond [Message] 允许回复消息发件人和其他所有接收到消息副本的人。与 reply 子命令相同。
Respond [Message] 仅允许回复消息的发件人。与 Reply 子命令相同。
retain [FieldList] FieldList 中的标题字段添加到保留字段列表。用 type 子命令或 print 子命令查看消息时显示保留字段。使用此子命令来定义要显示的标题字段。使用 TypePrint 子命令来完整地打印消息,包括非保留字段。如果 retain 子命令不带参数执行,那么它列出保留字段的当前集合。

注:

retain 子命令覆盖 discard 子命令。
save [ File ] s)将包括标题信息在内的当前消息保存到文件或文件夹。如果文件已存在,那么将消息附加到文件。如果省略 File 字段,那么将消息保存到用户的 mbox 中。
save [MessageList] File s)将 MessageList 保存到文件或文件夹,包括标题信息。如果文件已存在,那么将 MessageList 附加到文件。当操作完成时显示文件名和文件大小。如果保存消息到文件,在退出 Mail 程序时,消息并没有返回到系统邮箱(/var/spool/mail/UserID),也没有保存在个人邮箱($HOME/mbox)中。
Save [MessageList] S)将指定的消息保存在文件中,该文件的名称取自第一个消息的作者。文件名是以去掉所有网络地址的作者的名字而得来的。
 set [OptionList | Option=Value...] se)不带参数,显示当前启用的选项。否则,设置选项为指定。跟在 set 命令后的参数可以是下列之一:

这些选项以 .mailrc 文件格式列出。

注:

形式 unset name 等同于 noname
shell sh)启动 shell 的交互式版本。
size [MessageList] MessageList 中的消息以行/特征的大小显示。
source File so)从 File 中读取和指定 mail 子命令。
top [MessageList] 显示由 MessageList 指定的消息的最上面几行。显示的行数由选项 toplines 的值(缺省为 5)来确定。
touch [MessageList] 在系统邮箱(/var/spool/mail/UserID)内,退出 Mail 程序时子命令标志 MessageList 中要移动到个人邮箱($HOME/mbox)的消息。尽管您没有读取消息,也要将其移动。在个人邮箱中将消息作为未读消息显示。在 MessageList 中的最后一条消息成为当前消息。
type [MessageList] t)显示指定消息的文本。与 print 子命令相同。
Type [MessageList] T)显示带有忽略标题字段的特定消息的内容。与 Print 子命令相同。
unalias 删除指定的别名。
undelete [MessageList] u)退出 Mail 程序时,从要被删除的消息列表中删除 MessageList 中的消息。输入没有消息列表的 u 子命令再调用最后一条删除的消息。
unread [MessageList] U)将 MessageList 中的每条消息标记为读。与 newNewUnread 子命令相同。
Unread [MessageList] MessageList 中的每条消息标记为读。与 newNewUnread 子命令相同。
unset OptionList 禁用 OptionList 中指定的选项的值。此操作为 set 子命令的逆操作。

注:

形式 unset name 等同于 noname
version ve)显示 Mail 程序的版本标志。
visual [MessageList] v)使用 MessageList 作为输入字段来启动可视编辑器。(此编辑器可以用 set VISUAL= 语句定义。)将在编辑器会话的过程中所做的任何更改保存回 MessageList 中的消息。
write [MessageList] File w)将没有标题信息的消息保存到一个文件或文件夹。当操作完成时显示文件名和文件大小。在文件中不包括消息标题。
xit x)与 exit 子命令相同。
z [+ | -] 更改当前消息组(一组有 20 条消息)并显示该组中的消息标题。如果给定 + 或没有给定参数,那么显示在下一组中的标题。如果给定一个 - 参数,那么显示在前一组中的标题。

mail 和 Mail 命令的邮件编辑器子命令

缺省情况下,Mail 程序将以 ~ (代字号)字符开始的行作为子命令。以下列表描述了在邮件编辑器中时所用的子命令。只有在一个新行的开始输入子命令,编辑器才会识别它们。

邮件编辑器子命令

项目 描述
~? 显示 mail 子命令的摘要。
~!Command SHELL 指定的命令解释器将调用两个参数:-ccommand。命令的标准输出将插入到消息中。
~a sign 变量的值插入到消息文本,后面跟随一个换行符。与 ~i 符号相同。
~A Sign 变量的值插入到消息文本,后面跟随一个换行符。与 ~i 符号相同。
~b AddressList AddressList 中的名称添加到接收消息的暗送副本的地址列表中。 ~b 子命令只能用来添加 Bcc: List 的内容,而不能对其更改或删除。
~c AddressList AddressList 中的名称添加到接收消息副本的人员列表。 ~c 子命令只能用来添加 Cc: List 的内容,而不能对其更改或删除。
~d dead.letter 文件的内容附加到消息结尾。
~e 使用消息文本作为输入文件来启动备用编辑器。(此编辑器可以用 Bourne shell 中的 set EDITOR= 语句定义。)退出此编辑器时,返回到邮件编辑器,在此处可以添加文本或退出 Mail 程序来发送消息。
~f [MessageList] 包含当前消息的 MessageList 来转发消息到另一个用户。本子命令读取 MessageList 中的任何消息并将其附加到当前消息结尾,但不缩进附加消息。本子命令也用来附加消息来引用,该引用的页边距太宽而不能用 ~m 子命令嵌入。只有从 mailbox 提示符下使用 mailreplyReply 子命令进入邮件编辑器时,该子命令才能工作。
~F [MessageList] 除了在消息中包括所有的标题,不管以前的 discardignoreretain 命令如何,本命令等同于 ~f
~h 允许添加或更改在所有标题字段中的信息。系统显示四个标题字段中的每一个,每次显示一个。可以查看和删除每个字段的内容或者添加信息到该字段。按 Enter 键来保存任何对该字段的更改并显示下一个字段及其内容。
~i string 将跟有换行符的指定的变量的值插入到下一条消息文本中。如果字符串未设置或为空,那么将不更改消息。
~m [MessageList] 包括当前消息中的 MessageList,以作参考。子命令读取 MessageList 中的任何消息并将其附加到当前消息结尾。包含的消息从消息的常规左页边距缩进一个制表符。只有从 mailbox 提示符下使用 mailreplyReply 子命令进入邮件编辑器时,该子命令才能工作。
~M [MessageList] 除了在消息中包括所有的标题,不管以前的 discardignoreretain 命令如何,本命令等同于 ~m
~p 显示完整的消息,包含标题信息。
~q 不发送消息就退出编辑器。除非设置了 nosave 选项,将消息保存在主目录下的 dead.letter 文件中。dead.letter 文件的以前内容由未完成的消息替换。

注:

可以使用中断(Ctrl+C)按键顺序两次来退出编辑器。
~r File 读取文件的内容到当前消息中。
~s String 将标题字段更改为 String 中指定的短语。不能用本子命令来附加到标题字段。
~t AddressList AddressList 中的地址添加到消息的 To: 字段中。 ~t 子命令只能用来添加 To: List 的内容,而不能对其更改或删除。
~v 使用消息文本作为输入文件来启动可视编辑器。此编辑器可以用 Bourne shell 中的 set VISUAL= 语句定义。)退出此编辑器时,返回到邮件编辑器,在此处可以添加文本或退出 Mail 程序来发送消息。
~w File 将消息写到指定的文件。
~x 除了不将消息保存到 dead.letter 文件中,退出与使用 ~q 相同。
~: Subcommand 执行由 Subcommand 指定的子命令并返回到邮件编辑器。
~| Command 通过命令 Command 作为过滤器来传送消息。如果 Command 不给定输出或异常终止,那么它保留消息的原始文本。否则,Command 的输出替换当前消息。fmt 命令经常用作 Command 来格式化消息。
~< file 读取文件的内容到当前消息中。
~<!Command 允许运行 shell 命令。运行带有 -c 标志和指定 Command 的 shell。将 Command 的标准输出插入到消息。
~~ 允许使用在消息中有 ~ (代字号) 字符,并不将其解释为命令前缀。 ~~ 按键顺序导致消息中只有一个 ~ 字符被发送。

文件

文件

项目 描述
$HOME/.mailrc 包含 mail 子命令来对特定的用户定制 Mail 程序。
$HOME/mbox 包含个人邮箱。
/usr/share/lib/Mail.rc 包含对于在系统上的所有用户用 mail 子命令来更改 Mail 程序的文件。
/var/spool/mail/* 包含所有用户的系统邮箱。
/usr/bin/mail 包含 mail 命令。
/usr/bin/Mail 包含 Mail 命令。
/usr/bin/mailx 包含 mailx 命令。

https://www.ibm.com/support/knowledgecenter/zh/ssw_aix_71/com.ibm.aix.cmds3/mailx.htm

发表评论

电子邮件地址不会被公开。

*