由于最近在CentOS5.6下编写shell脚本,要用到发送邮件的功能,于是摸索了一下mutt这个软件。它是一款基于文字界面的邮件客户端,非常小巧,但功能强大,可以用它来读写,回复保存和删除你的邮件,能在linux命令行模式下收发邮件附件。
更多的用法请查阅官网:http://www.mutt.org
www.zhishiwu.com
1.mutt的安装
安装操作系统时,一般Linux都会默认安装mutt,CentOS也不例外。可以使用which mutt查看mutt安装的路径,如果没有安装可以在命令行下执行
yum install mutt
就可以安装mutt,会发现较新的mutt版本是5:1.4.2.2-3.0.2.el5
安装完mutt后,在/usr/share/doc/mutt* 下有一份很好的手册,可以看一下。
2.mutt的配置
安装完之后,使用find命令查找Muttrc这个文件
find / -name Muttrc
会发现这个文件在/etc/Muttrc这个位置,而不是网上很多教程说的/root/.muttrc这个文件。那么我在配置时,首先配置了/etc/Muttrc这个文件,然后又向/root下拷贝了一份,将文件改名为.muttrc。其实发现有些系统不需要向/root下拷贝.muttrc文件也可以正确收发邮件。
mutt缺省是调用/usr/sbin/sendmail来发送邮件的,也可以配置使用msmtp等来发送邮件
/etc/Muttrc文件的部分配置如下,我就在文件最后追加了以下配置:
www.zhishiwu.com
set from = youremail@inc.com
set envelope_from = yes
my_hdr From: youremail@inc.com
my_hdr Reply-To: youremail@inc.com
ignore headers *
unignore headers from
3.发送邮件
用ps -ef | grep sendmail命令,查看sendmail服务是否启动,没有启动的话启动之
在shell命令行执行
echo "test" | /usr/bin/mutt -s "email send at $dd !" youremail@inc.com
很快你就会在自己的邮箱收到一封由root发出的邮件了哦
最后,贴一下mutt的语法
mutt [-hnpRvxz][-a<文件>][-b<地址>][-c<地址>][-f<邮件文 件>][-F<配置文件>][-H<邮件草稿>][-i<文件>][-m<类型>] [-s<主题>][邮件地址]
参 数: www.zhishiwu.com
-a <文件> 在邮件中加上附加文件。
-b <地址> 指定密件副本的收信人地址。
-c <地址> 指定副本的收信人地址。
-f <邮件文件> 指定要载入的邮件文件。
-F <配置文件> 指定mutt程序的设置文件,而不读取预设的.muttrc文件。
-h 显示帮助。
-H <邮件草稿> 将指定的邮件草稿送出。
-i <文件> 将指定文件插入邮件内文中。
-m <类型> 指定预设的邮件信箱类型。
-n 不要去读取程序培植文件(/etc/Muttrc)。
-p 在mutt中编辑完邮件后,而不想将邮件立即送出,可将该邮件暂缓寄出。
-R 以只读的方式开启邮件文件。
-s <主题> 指定邮件的主题。
-v 显示mutt的版本信息以及当初编译此文件时所给予的参数。
-x 模拟mailx的编辑方式。
-z 与-f参数一并使用时,若邮件文件中没有邮件即不启动mutt。
作者 sharong