Linux邮件命令用法
1. 将文件当做电子邮件的内容送出
语法:mail -s “主题”用户名@地址< 文件
例如:
mail -s “program” user < file.c 将file.c
当做mail的内容,送至user,主题为program。
2. 传送电子邮件给本系统用户
语法:mail 用户名
3. 传送电子邮件至外地用户
语法: mail 用户名@接受地址
.../usr/lib/sendmail -bp
......“Mail queue is empty” ......mail ....
例如:
mailtest@hotmail.com
Subject : mail test
:
键入信文内容
: :
按下Ctrl+D 键或. 键结束正文。
连按两次Ctrl+C键则中断工作,不送此信件。
Cc( Carbon copy) : 复制一份正文,给其他的收信人。
4. 检查所传送的电子邮件是否送出,或滞留在邮件服务器中
语法:/usr/lib/sendmail -bp
若屏幕显示为“Mail queue is empty” 的信息,表示mail 已送出。
若为其他错误信息,表示电子邮件因故尚未送出。
在Linux系统下mail命令的测试
1. 最简单的一个例子:
mail -s test yangfang@fudan.edu.cn
这条命令的结果是发一封标题为test的空信给后面的邮箱,如果你有mta并且后面的邮箱不会挡这种可能莫名奇妙的信的时候,就能收到这封信了。如果你不想被这种乱七八糟的事情干扰,后面的邮箱请使用本地帐户。
2. 第二个例子:
三种常用格式发信
mail -s test yangfang@fudan.edu.cn #第一种方法,你可以把当前shell当成编辑器来用,编辑完内容后Ctrl-D结束
echo “mail content”|mail -s test yangfang@fudan.edu.cn #第二种方法,我用的最多,可能是喜欢管道的缘故吧
mail -s test yangfang@fudan.edu.cn < file #第三种方法,以file的内容为邮件内容发信
其实你很容易发现mail从标准输入读取文件内容并发信,我也只想让你知道这一点,到此,第二个例子结束。
3. 第三个例子,带附件的邮件
如果你的系统里没有uuencode命令的话,请先安装sharutils(yum install sharutils)
uuencode 需要两个参数,第一个是你要发送的文件(们),当然这个也可以用管道来做,第二个是显示的文件名
uuencode /home/yfang/a.gif a.gif|mail -s pictest yangfang@fudan.edu.cn
tar czf - /home/yfang/ | uuencode home.tgz |mail -s pictest yangfang@fudan.edu.cn
在linux中输入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,退出阅读状态。
注意:mail命令使用时必须安装sendmail服务,否则邮件无法发送!
sendmail关闭时:
[root@uyhd000225 ~]# mail wencao Subject: wewwew 1234455566666 Cc: [root@uyhd000225 ~]# su - wencao [wencao@uyhd000225 ~]$ mail No mail for wencao
二十分钟之后(我以为有个接受频率)
[wencao@uyhd000225 ~]$ mail No mail for wencao
启动sendmail:
[root@uyhd000225 ~]# service sendmail start 启动 sendmail:[确定] 启动 sm-client:[确定] [root@uyhd000225 ~]# su - wencao [wencao@uyhd000225 ~]$ mail Mail version 8.1 6/6/93. Type ? for help. "/var/spool/mail/wencao": 1 message 1 new >N 1 root@uyhd000225.hich Mon Jan 6 16:40 16/658 "wewwew" & 1 Message 1: From root@uyhd000225.hichina.com Mon Jan 6 16:40:55 2014 Date: Mon, 6 Jan 2014 16:03:38 +0800 From: root <root@uyhd000225.hichina.com> To: wencao@uyhd000225.hichina.com Subject: wewwew 1234455566666 & q Saved 1 message in mbox [wencao@uyhd000225 ~]$
给我的网易邮箱发送一封邮件看下:
[root@uyhd000225 ~]# mail -s linux pianzif@126.com laizhi121.197.8.155 Cc: [root@uyhd000225 ~]#
看下收到没有!
OK,终于明白!
more /var/log/maillog
-- 这里能看到发送邮件的log信息
Feb 21 05:42:03 usaxdas011ccxra sendmail[26442]: p1L5SkrW025990: to=wsh@tt.com, ctladdr=<csdpuser@tt2.com>
(500/0), delay=00:13:17, xdelay=00:00:00, mailer=relay, pri=210370, relay=dd.tt.com, dsn=4.0.0, stat=Deferred: Connection refused by dd.tt.com
9.3.68.123 dd.tt.com
--这里会配置smtp服务器,中转站, dd.tt.com
vi /etc/mail/sendmail.cf
# Search DS and configure the relay host
DSdd.tt.com
more /etc/mail/sendmail.cf | grep DS
more /etc/mail/sendmail.cf | grep dd
"Smart" relay host:
sendmail.cf中有一項"Smart" relay host的設定,其功用是當我們的頻寬較小時,可以請上游的ISP的Mail-Server來代送信件。
初始值是空白:
DS
我的設定如下:
DSmail.mlc.edu.tw
外送的信件先送到上游縣網中心的mail.mlc.edu.tw主機請它代送,藉助其有較大的頻寬。
/etc/mail/local-host-names
这个文件的作用是,把里面所列出的域名当作是本地域名来解析,不会往外发邮件,
如果这里有一行内容 126.com
则 你的126的邮箱会收不到从这个机器发的邮件.
检查所传送的电子邮件是否送出,或滞留在邮件服务器中
语法:/usr/lib/sendmail -bp
若屏幕显示为“Mail queue is empty” 的信息,表示mail 已送出。
若为其他错误信息,表示电子邮件因故尚未送出。
-- 重启sendmail service
/etc/rc.d/init.d/sendmail restart
Cisco N7K 的硬件架构Cisco R&S N4 版本解密视频分享http://51CTO提醒您,请勿滥发广告!/forum-26-1.html51cto.com/a/luyoujiaohuan/index.htmlhttp://www.net527.comLinux 系统
下载MSMTP
wget http://nchc.dl.sourceforge.net/sourceforge/msmtp/msmtp-1.4.17.tar.bz2 ;
tar xvf msmtp-1.4.17.tar.bz2 cd msmtp-1.4.17 ./configure --prefix=/usr/local/msmtp make make install cd /usr/local/msmtp/ mkdir etc #配置文件目录和配置文件都要自己建 cd etc
vim msmtprc #手动创建配置文件 account default host smtp.126.com from test@126.com auth login user test password test logfile ~/.msmtp.log
yum install mutt vim /etc/Muttrc set charset = "utf-8" 防止中文乱码 set locale = "zh_CN.UTF-8" set sendmail="/usr/local/msmtp/bin/msmtp" set use_from=yes set realname="njnajie" set editor="vim"
测试
echo “testmail” | mutt -s “测试2” 511589735@qq.com
外发邮件,比如给QQ邮箱发邮件!
http://www.binarytides.com/linux-mail-command-examples/
http://www.cnblogs.com/xiaoshi1991/archive/2012/09/19/2694465.html
http://www.mzone.cc/article/317.html
http://gaoming.blog.51cto.com/822334/1279282
http://www.4wei.cn/archives/1001468