在Linux系统下mail命令的测试(转)
在Linux系统下mail命令的测试
1. 最简单的⼀个例⼦:
mail -s test yangfang@fudan.edu
这条命令的结果是发⼀封标题为test的空信给后⾯的邮箱,如果你有mta并且后⾯的邮箱不会挡这种可能莫名奇妙的信的时候,就能收到这封信了。如果你不想被这种乱七⼋糟的事情⼲扰,后⾯的邮箱请使⽤本地帐户。
2. 第⼆个例⼦:
三种常⽤格式发信
mail -s test yangfang@fudan.edu #第⼀种⽅法,你可以把当前shell当成编辑器来⽤,编辑完内容后Ctrl-D结束
echo “mail content”|mail -s test yangfang@fudan.edu #第⼆种⽅法,我⽤的最多,可能是喜欢管道的缘故吧
mail -s test yangfang@fudan.edu < file #第三种⽅法,以file的内容为邮件内容发信
其实你很容易发现mail从标准输⼊读取⽂件内容并发信,我也只想让你知道这⼀点,到此,第⼆个例⼦结束。
3. 第三个例⼦,带附件的邮件
如果你的系统⾥没有uuencode命令的话,请先安装sharutils(yum install sharutils)
uuencode 需要两个参数,第⼀个是你要发送的⽂件(们),当然这个也可以⽤管道来做,第⼆个是显⽰的⽂件名
uuencode /home/yfang/a.gif a.gif|mail -s pictest yangfang@fudan.edu
tar czf - /home/yfang/ | |mail -s pictest yangfang@fudan.edu
ps: 顺便补⼀句,slackware下的mail好像有⼀个-a参数,可以直接添加附件,我没有⽤过。
(其实使⽤-a更加简单,例如:echo this is just a test mail | mail -s test -a log3 )
Linux下Mail命令收集2007-10-28 10:01系统收到邮件都会保存在“/var/spool/mail/[linux⽤户名]”⽂件中。
在linux中输⼊mail,就进⾏了收件箱,并显⽰⼆⼗封邮件列表。
此时命令提⽰符为"&"
unread 标记为未读邮件
h|headers 显⽰当前的邮件列表
l|list 显⽰当前⽀持的命令列表
|help 显⽰多个查看邮件列表的命令参数⽤法
d 删除当前邮件,指针并下移。 d 1-100 删除第1到100封邮件
f|from 只显⽰当前邮件的简易信息。 f num 显⽰某⼀个邮件的简易信息
f|from num 指针移动到某⼀封邮件
linux怎么读取文件内容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,退出阅读状态。
--------------------------------------
Linux邮件命令⽤法
1. 将⽂件当做电⼦邮件的内容送出
语法:mail -s “主题”⽤户名@地址< ⽂件
例如:
mail -s “program” user < file.c 将file.c
当做mail的内容,送⾄user,主题为program。
2. 传送电⼦邮件给本系统⽤户
语法:mail ⽤户名
3. 传送电⼦邮件⾄外地⽤户
语法: mail ⽤户名@接受地址
.../usr/lib/sendmail -bp  (需要root权限)
......“Mail queue is empty” ......mail ....
例如:
mailtest@hotmail
Subject : mail test
:
键⼊信⽂内容
: :
按下Ctrl+D 键或. 键结束正⽂。
连按两次Ctrl+C键则中断⼯作,不送此信件。
Cc( Carbon copy) : 复制⼀份正⽂,给其他的收信⼈。
4. 检查所传送的电⼦邮件是否送出,或滞留在邮件服务器中
语法:/usr/lib/sendmail -bp
若屏幕显⽰为“Mail queue is empty” 的信息,表⽰mail 已送出。
若为其他错误信息,表⽰电⼦邮件因故尚未送出。
=================================
Linux下mail使⽤技巧
登录LINUX系统后,经常会看到"you have mail",却苦于不知道如何查看,相信菜鸟们都遇到过,偶在⽹上⽤“linux mail"了很久,但⼤都是介绍mail服务器的,黄天总算没负有⼼⼈,在洪恩在到⼀篇介绍基础的⽂章,不敢独享。
系统提供了⽤户之间通信的邮件系统,当⽤户打开终端注册登录时发现系统给出如下信息:
you have mail.
这时⽤户可通过键⼊mail命令读取信件:
$ mail
mail程序将逐个显⽰⽤户的信件,并依照时间顺序,显⽰最新的信件。每显⽰⼀段信件,mail都询问⽤户是否要对该信件作些处理。若⽤户回答d,则表⽰删除信件;若仅按回车键,表⽰对信件不作任何改动(信件仍旧保存,下次还可读这⼀信件);若回答p,则要求重复显⽰信件;s filename表⽰要把信件存⼊所命名的⽂件;若回答q,表⽰要从mail退出。
我们在本章的第⼀个例⼦中演⽰了如何写⼀封信,作为练习,你可送信件给⾃⼰,然后键⼊mail读取⾃⼰发的信件,看看会有什么效果。(发信给⾃⼰是⼀种设置备忘录的⽅法)。
$mail frank 给⾃⼰写信
subject: test
This is a mail test
CRL-d
EOT
$
$mail 查看信件
“/var/spool/mail/frank:”1 message 1 new
>amlinuxThu Mar 25 11:00 13/403 “test”
&
Message 1:
From frank Thu Mar 25 11:00:25 1999/3/25
Received: (fromfrank@localhost)
amlinux(8.8.4/8.8.4)
id LAA05170 for frank;Thu 25 Mar 1999 11:00:25 GMT
Date: Thu,25 Mar 1999 11:00:25 GMT
From:RHS Linux User <root@newtradepowre>
Message-Id:<199903251142.amlinux>
To:amlinux
Subject:test
Status:R
This is a mail test
&
mail命令还有很多其它⽤法,例如发送事先准备好的信件,或⼀次送信给若⼲⼈。还可以⽤其它⽅法送信件。
另附message的使⽤技巧:
当Linux系统处于多⽤户的情况下,有时在终端上会突然显⽰出下述信息:
Message from renee tty2…
并伴随出现⼀阵嘟嘟响声。这是⽤户renee想和你通话⽽产⽣的信号。若你⽤如下命令响应他:
$ write renee
这就建⽴起了你和renee的通信线路,renee在他的终端上键⼊的内容同时显⽰在你的终端上,反之你键⼊的内容也显⽰在renee的终端上。为区分终 端上哪些是你输⼊的,哪些是renee输⼊的,我们使⽤如下通话协议:(o)表⽰⼀段话说完,并让对⽅发话,(oo)代表通话结束并退出程序。
renee’s terminal: frank terminal:
[renee@xteam renee]$ write frank
$ Message from renee tty2…
$write renee
[renee@xteam renee]$Message from you tty1…
did you forget lunch? (o)
did you forgeet lunch? (o)
ten minutes (o)
ten minutes (o)
ok (oo)
ok (oo)
ctl-d
EOF
Ctl-d
EOF
[renee@xteam renee]$ $
    除CTL-d键外,也可以使⽤DELETE退出write命令。
如果你不愿意别⼈⼲扰你的⼯作,可以使⽤mesg命令拒绝接受通话。当你向⼀个拒绝接收通话的⽤户发写命令、或者向没有注册的⽤户要求通话时,write 命令会显⽰不能通话的原因。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。