Linux学习之给指定用户发邮件

发送邮件

     进入 mail 程序后的操作都很简单,但是可以不进入 mail 的 & 操作提示符界面,下面举几个实用例子:

1、给 snailwarrior@qq.com 发信

1 [root@pps ~]# mail snailwarrior@qq.com
2 
3   Subject: Hi, a mail to snailwarrior!
4 
5   This is hoho_zhao in BeiJing.
6 
7   .
8 
9   Cc: //直接输入回车就不抄送给谁了

  【注意】使用.或者Ctrl+D来结束内容输入

  【注意】默认情况下连按两次Ctrl+C键中断工作

  2、如果 snail 是本系统用户,这样给他发信

1 [root@pps ~]# mail -s "hi, snail, i'm root" snail
2 
3   plz reply me, snail.
4 
5   .
6 
7   Cc:

  或者

1  [root@pps ~]# mail -s "hi, snail, i'm root" snail < 邮件内容

  -s 主题

  -c 抄送

  -b 暗送

接收邮件

     同样的使用 mail ,假设以root的身份登陆主机,然后输入 mail 后,会输出以下信息:

1 [vbird1@www ~]$ mail
2 Mail version 8.1 6/6/93.  Type ? for help.
3 "/var/spool/mail/vbird1": 1 message 1 new
4 >N  1 root@www.vbird.tsai   Wed Mar  4 13:36  18/663   "nice to meet you"
5 &  <==这里可以输入很多的命令,如果要查阅,输入 ? 即可!

     在 mail 当中的提示字符是 & 符号,信件的前面那个 > 代表目前处理的信件,而在大于符号的左边那个 N 代表该封信件尚未读过,如果我想要知道这个 mail 内部的命令有哪些,可以在 & 之后输入『 ? 』,就可以看到如下的画面:

 1 & ?
 2     Mail   Commands
 3 t <message list>                type messages
 4 n                               goto and type next message
 5 e <message list>                edit messages
 6 f <message list>                give head lines of messages
 7 d <message list>                delete messages
 8 s <message list> file           append messages to file
 9 u <message list>                undelete messages
10 R <message list>                reply to message senders
11 r <message list>                reply to message senders and all recipients
12 pre <message list>              make messages go back to /usr/spool/mail
13 m <user list>                   mail to specific users
14 q                               quit, saving unresolved messages in mbox
15 x                               quit, do not remove system mailbox
16 h                               print out active message headers
17 !                               shell escape
18 cd [directory]                  chdir to directory or home if none given

<message list> 指的是每封邮件的左边那个数字啦!而几个比较常见的命令是:

命令 意义
h 列出信件标头;如果要查阅 40 封信件左右的信件标头,可以输入『 h 40 』
d 删除后续接的信件号码,删除单封是『 d10 』,删除 20~40 封则为『 d20-40 』。 不过,这个动作要生效的话,必须要配合 q 这个命令才行(参考底下说明)!
s 将信件储存成文件。例如我要将第 5 封信件的内容存成 ~/mail.file:『s 5 ~/mail.file』
x 或者输入 exit 都可以。这个是『不作任何动作离开 mail 程序』的意思。 不论你刚刚删除了什么信件,或者读过什么,使用 exit 都会直接离开 mail,所以刚刚进行的删除与阅读工作都会无效。 如果您只是查阅一下邮件而已的话,一般来说,建议使用这个离开啦!除非你真的要删除某些信件。
q 相对于 exit 是不动作离开, q 则会进行两项动作: 1. 将刚刚删除的信件移出 mailbox 之外; 2. 将刚刚有阅读过的信件存入 ~/mbox ,且移出 mailbox 之外。鸟哥通常不很喜欢使用 q 离开, 因为,很容易忘记读过什么咚咚~导致信件给他移出 mailbox 说~

   由于读过的信件若使用『 q 』来离开 mail 时,会将该信件移动到 ~/mbox 中,所以你可以这样想象: /var/spool/mail/vbird1 为 vbird1 的『新件匣』,而 /home/vbird1/mbox 则为『收件匣』的意思,那如何读取 /home/vbird1/mbox 呢?就使用『mail -f /home/vbird1/mbox』即可。

原文地址:https://www.cnblogs.com/sunfie/p/5127591.html