应用Mail Server有两种主要的方式,可以直接登录Linux主机来操作MTA,也可以通过客户端的MUA软件来收发信件,下面分别介绍这两种方式。
19.6.1 Linux Mail
在Unix like的操作系统中都会存在一个可以进行收发信件的指令,即Mail指令。这个指令是由Mail这个软件所提供的,所以需要先安装Mail软件。另外, 由于Mail是Linux系统的功能,所以即使端口25(SMTP)没有启动,它还是可以使用的,只不过该邮件只会被放到队列,而无法寄出去。下面来谈一 谈最简单的Mail用法。
1. 用Mail直接编辑文字邮件与寄信
Mail的用法很简单,即利用“Mail[E-mail address]”的方式来将信件寄出,“ E-mail address”可以是对外的邮件地址,也可以是本机的账号。如果是本机账号的话,直接加账号名称即可。例如:Mail root或Mail 。如果是对外寄信的话,信件默认的Mail from就会填写main.cf内的myorigin变量的主机名称。先来试试看,寄给:
这样即可将信件寄出。另外,早期的Mail Server是可以接收IP寄信的,例如:Mail ],记得IP要用中括号包起来。不过由于受到垃圾邮件的影响,现在这种方式几乎都无法成功的将信件寄出了。
2. 利用已经处理完的纯文本文件寄信
这里说的不是以附件发送的方式,因为在Mail这个程序里编辑信件是个很痛苦的差事,不能够按上、下、左、右键回到刚刚编辑有错误的地方,很伤脑 筋。此时可以通过标准输入来处理。如果您忘记“< ”代表的意义,请参考《鸟哥的私房菜――基础学习篇》中的Bash shell章节。例如您要将默认目录的“.bashrc”寄给别人,可以这样做:
3. 开始接收信件
寄信比较简单,那么收信呢?收信还是使用Mail。直接在提示字符后输入Mail时,会主动的捉取用户在/var/spool/Mail下的邮件信 箱(Mailbox),例如dmtsai这个账号在输入Mail后,就会将/var/spool/Mail/dmtsai文件的内容读出来并显示到屏幕 上,结果如下:
上述代码显示dmtsai有一封信,且会附上该信件的发信者、标题及收信时间等。可以应用的指令如下。
(1)读信(直接按Enter或输入数字按Enter)
当看到“> ”符号时,表示目前Mail所在的邮件字段,您可以直接输入数字按Enter或在“&”后的光标位置输入号码,即可看到该封信件的内容。如果持续按Enter,则会自“>”符号所在的邮件逐次向后读取每封信件内容。
(2)显示标题(直接输入h)
如果要重新显示每封信的标题,则输入h即可。
(3)回复邮件(直接输入R)
如果要回复目前“>”符号所在的邮件,直接输入R即可进入刚刚前面介绍过的Mail文字编辑界面了。可以在编辑信件后回复邮件。
(4)删除邮件(输入d)
输入“d## ”即可删除邮件。例如要删除第2封邮件,可以输入“d 2”如果要删除第10~50封邮件,可以输入“d 10-50”。如果有删除邮件的话,离开Mail box时,要使用q。
(5)储存邮件到文件(输入s+文件名)
如果要将邮件资料存下来,可以输入“s##filename”,例如要将第2封邮件存下来,可以输入“s 1 uuencode”即可将第2封邮件内容另存为uuencode文件。
(6)离开Mail(输入q或x)
要离开Mail可以输入q或者是x,输入x可以在不更改Mail box的情况下离开Mail程序,不管刚刚有没有使用d删除数据;使用q会将删除的数据清除,并且会将所有已读过的信件内容转存到默认目录下的mbox文 件。也就是说,如果您不想更改Mail box,那就使用x或exit离开,如果想要使刚刚移除的操作生效,就要使用q。不过,使用q之后,只有未读的信件才会保留在/var/spool /Mail/accout里,其他已读的数据都会被存入“~/mbox”中。例如 /home/dmtsai/mbox为储存dmtsai已读过的信件。
(7)请求帮助
关于Mail更详细的用法可以输入help以显示目前Mail的所有功能。
上面是简易的Mail收信功能。不过,如果离开Mail时按下q,信件将转存到“~/mbox”这个邮件信箱,那么该如何读取这个文件内的信件数据呢?可简单的使用以下方式来读取:
4. 以“附件”的方式寄信
前面提到的都是信件的内容,那么能否以“附件”的方式来传递文件呢?当然是可以的,不过需要uuencode指令的帮助,在CentOS中这个指令属于shartuils,请先利用yum来安装它。接下来可以这样使用:
这样就能寄出去了,不过,如果收下这封信件呢?需要通过译码器来解码。首先需要将该文件存下来,然后进行如下操作: