Linux 常用 mail 命令

作者:system 发布于:2011-12-30 9:59 分类:收邮件

Linux系统,如:Redhat、Centos、Fedora、Debian、ubuntu等可以用mail命令收发邮件,Mail常用命令如下

一. 最基本的命令:

mail -s 'test' linux@cpdns.com
这条命令是发一封标题为test的空信给linux@cpdns.com的邮箱,如果是发给系统内的用户,收件人直接写用户名就可以,(mail -s ’接邮件标题’ 收件人)

二.常用发信格式

mail -s 'test' linux@cpdns.com
你可以把当前shell当成编辑器来用,编辑完内容后Ctrl-D结束

echo “This is a test message”|mail -s 'test' linux@cpdns.com
这个最简单常用,用管道的方法。

mail -s test linux@cpdns.com < file
将邮件存在文本file里,以file的内容为邮件内容发信,MAIL支持标准输入。

三. 发送带附件的邮件

上面的方法只能以纯文本的发式发邮件,如果要带附件,还需要使用encode的功能,哪果你的Linux里没有uuencode命令,可以用YUM或APT安装
如下:
apt-get install sharutils
yum install sharutils

uuencode 需要两个参数,第一个是你要发送的文件,这个也可用管道来实现,第二个是要显示的文件名
命令格式:uuencode 要带的附件文件名 文件的标题 | mail -s ‘test’ 收件人

uuencode /home/yfang/test.tar test.tar|mail -s 'slavetest' linux@cpdns.com
这是发送一个打包文件

tar -cvf /home/file/ | uuencode file.tar |mail -s pictest yangfang@fudan.edu.cn
打包发送

四.检查所传送的电子邮件是否送出,是否还留在邮件服务器里
#:/usr/lib/sendmail -bp
若显示为“Mail queue is empty” 的信息,表示mail 已送出
若为其他错误信息,表示电子邮件因故尚未送出,可以错误信息分析

五.linux中输入mail命令,就打开了收件箱,并显未读邮件列表

进入mail命令后,提示符为"&"
unread 标记为未读邮件
h|headers 显示当前的邮件列表
l|list 显示当前支持的命令列表
?|help 显示多个查看邮件列表的命令参数用法
d 删除当前邮件,指针并下移。 d 1-100 删除第1到100封邮件
f|from 只显示当前邮件的简易信息。 f num 显示某一个邮件的简易信息
f|from num 指针移动到某一封邮件
z 显示刚进行收件箱时的后面二十封邮件列表
more|p|page 阅读当前指针所在的邮件内容 阅读时,按空格键就是翻页,按回车键就是下移一行
t|type|more|p|page num 阅读某一封邮件
n|next|{什么都不填} 阅读当前指针所在的下一封邮件内容
阅读时,按空格键就是翻页,按回车键就是下移一行
v|visual 当前邮件进入纯文本编辑模式
n|next|{什么都不填} num 阅读某一封邮件
top 显示当前指针所在的邮件的邮件头
file|folder 显示系统邮件所在的文件,以及邮件总数等信息
x 退出mail命令平台,并不保存之前的操作,比如删除邮件
q 退出mail命令平台,保存之前的操作,比如删除已用d删除的邮件,已阅读邮件会转存到当前用户家目录下的mbox文件中。如果在mbox中删除文件才会彻底删除。
在linux文本命令平台输入 mail -f mbox,就可以看到当前目录下的mbox中的邮件了。
cd 改变当前所在文件夹的位置
写信时,连按两次Ctrl+C键则中断工作,不送此信件。
读信时,按一次Ctrl+C,退出阅读状态。

六.如果你不愿意别人干扰你的工作,可以使用mesg命令拒绝接受通话。当你向一个拒绝接收通话的用户发写命令、或者向没有注册的用户要求通话时,write命令会显示不能通话的原因。

Powered by emlog