发送和接收邮件。
mail -e
mail -f [ -dHNn ] [ -F ] [ FileName ]
mail [ -dHNn ] [ -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。邮件程序对于系统邮箱中的每一封邮件显示一行条目:
Mail [5.2 UCB] [AIX 4.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"
在标题摘要一行的开始用 > 标记当前消息。
每一行条目显示以下字段:
状态 | 表示一封邮件的当前类。状态可以是以下的任何形式:
没有状态的消息表示该消息已经读取但是没有删除或保存。 |
号 | 标识消息的数字的顺序。 |
发件人 | 标识发送邮件者的地址。 |
日期 | 指定接收消息的日期。 |
大小 | 定义包含在信件中的行数和字符数(包含标题)。 |
主题 | 标识消息的主题。 |
最后,Mail 程序跟在邮件列表后,显示邮箱提示符,缺省情况下为 ?,表示在等待输入。
以下环境变量影响到邮件的执行:
Bourne shell(bsh 命令)使用并检查以下变量。可以在 $HOME/.profile 中设置这些变量。
mail 命令列出在系统邮箱中的每条消息。邮件系统然后显示邮箱提示符(?)来表示等待输入。当您看到此提示符时,请输入邮箱子命令。要查看子命令列表,请输入:
本条目列出 Mail 子命令。
mail -c "user2@host2 user3@host3" user1@host1<letter
mail -f
此命令显示在个人邮箱 $HOME/mbox 中的消息列表。
mail -f +dept
此命令显示在 dept 文件夹中的消息列表。
mail ron
完成将消息输入到用户 ron 时,按 Enter 键以及 .(句号)或 Ctrl+D 来退出编辑器并发送消息。要确定某用户是否在本地系统,请在 /etc/passwd 文件中查看该用户名。
如果消息成功发送,将不会收到通知。如果消息无法发送,将发送给您一个错误信息。
mail karen < letter1
此命令将文件 letter1 的内容发送到本地系统的用户 karen。命令发送文件后,Mail 程序显示命令行提示符。
mail dale@zeus
现在可以创建一个到 dale 的消息。在本示例中,发送消息到远程系统 zeus 上的 dale 用户。要将消息发送到通过网络连接到您的系统的另一个系统上的用户,您必须知道那个人的登录标识和另一个系统的名称。
从邮件提示符 ?(问号)下可以输入子命令来操作邮箱中的邮件。当子命令一次操作多于一个的消息时使用 MessageList 参数。使用带 FileName 参数的子命令来操作文件或文件夹。这些参数在《AIX 5L V5.2 系统用户指南:通信与网络》中的『Mail 程序中的 Mailbox 子命令摘要』内讨论。
以下列表描述 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 | (c,co)将 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 | (ex 或 x)离开邮箱,不更改邮箱的原始内容而返回到操作系统。邮箱返回到 Mail 程序启动时的环境。标记为要被删除的消息不会被删除。与 xit 子命令相同。 |
file [Name] | (fi)与 folder 子命令相同。 |
folder [Name] | (fo)切换到新邮件文件或文件夹。子命令不带此参数时显示当前邮箱名。如果包含一个参数,它存储当前邮箱更改(例如已删除的消息)并读取由 Name 参数指定的新邮箱。与 file 子命令相同。
Name 的一些特殊约定: |
folders | 列出文件夹目录中的文件夹名。 |
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 子命令相同。 |
if Condition |
else | |
endif | mail 子命令的条件的执行结构。跟在 if 后的子命令在条件 Condition 为真时执行。跟在 else 后的子命令在条件 Condition 不为真时执行。else 不是必要的。endif 结束此结构并且是必要的。Condition 可以是接收(接收邮件)或发送(发送邮件)。
|
pipe [[msglist command]]
| [[msglist] command]] | (pi)消息通过调用 -c 和 command 参数指定的 SHELL 命令解释器的给定命令进行输送。该命令必须给出单独的参数。可以通过引用来完成。如果不给定参数,那么当前消息将通过由 cmd 变量的值来指定的命令进行输送。如果设置了page 变量,那么将在每个消息后插入换页符。 |
preserve | (pre)与 hold 子命令相同。 |
print [MessageList] | (p)显示指定的消息的文本。与 type 子命令相同。 |
Print [MessageList] | (P)显示带有忽略标题字段的特定消息的内容。与 Type 子命令相同。 |
quit | (q)离开邮箱并返回到操作系统。将所有已读取(不是删除或保存的)的消息存储在个人邮箱($HOME/mbox)中。将所有已标记为要删除的消息从邮箱中删除并且无法恢复。将 hold 或 preserve 选项标志的所有消息以及没有浏览的消息保存到系统邮箱(/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 子命令查看消息时显示保留字段。使用此子命令来定义要显示的标题字段。使用 Type 或 Print 子命令来完整地打印消息,包括非保留字段。如果 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 中的每条消息标记为未读。与 new、New 和 Unread 子命令相同。 |
Unread [MessageList] | 将 MessageList 中的每条消息标记为未读。与 new、New 和 Unread 子命令相同。 |
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 子命令的摘要。 |
~!Command | 由 SHELL 指定的命令解释器将调用两个参数:-c 和 command。命令的标准输出将插入到消息中。 |
~a | 将 sign 变量的值插入到消息文本,后面跟随一个换行符。与 ~i sign 相同。 |
~A | 将 Sign 变量的值插入到消息文本,后面跟随一个换行符。与 ~i Sign 相同。 |
~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 提示符下使用 mail、reply 或 Reply 子命令进入邮件编辑器时,该子命令才能工作。 |
~F [MessageList] | 除了在消息中包括所有的标题,不管以前的 discard、ignore 和 retain 命令如何,本命令等同于 ~f。 |
~h | 允许添加或更改在所有标题字段中的信息。系统显示四个标题字段中的每一个,每次显示一个。可以查看和删除每个字段的内容或者添加信息到该字段。按 Enter 键来保存任何对该字段的更改并显示下一个字段及其内容。 |
~i string | 将跟有换行符的指定的变量的值插入到下一条消息文本中。如果字符串未设置或为空,那么将不更改消息。 |
~m [MessageList] | 包括当前消息中的 MessageList,以作参考。子命令读取 MessageList 中的任何消息并将其附加到当前消息结尾。包含的消息从消息的常规左页边距缩进一个制表符。只有从 mailbox 提示符下使用 mail、reply 或 Reply 子命令进入邮件编辑器时,该命令才能工作。 |
~M [MessageList] | 除了在消息中包括所有的标题,不管以前的 discard、ignore 和 retain 命令如何,本命令等同于 ~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 的标准输出插入到消息。 |
~~ | 允许使用在消息中有 ~ (代字号) 字符,并不将其解释为命令前缀。 ~~ 按键顺序导致消息中只有一个 ~ 字符被发送。 |
bellmail 命令、fmt 命令、pg 命令、sendmail 命令。
.mailrc 文件格式。
《AIX 5L V5.2 系统用户指南:通信与网络》中的『邮件概述』、『创建和发送邮件』、『接收和处理邮件』。
《AIX 5L V5.2 系统用户指南:通信与网络》中的『读取邮件』、『回复邮件』、『显示邮箱内容』、『编辑消息』、『文件夹』。
《AIX 5L V5.2 系统用户指南:通信与网络》中的『定制邮件程序』、『启动邮件编辑器』、『在邮件编辑器中显示消息』、『更改或添加到消息的标题字段』。
《AIX 5L V5.2 系统用户指南:通信与网络》中的『检查邮件编辑器中的拼写错误』、『重新格式化邮件编辑器中的消息』、『更改用来输入消息的文本编辑器』。