在写shell脚本时经常用到mail命令来发送邮件,但直接发送出去的邮件往往因为不合法总是被当作垃圾邮件拒收,那么linux下有没有类似于foxmail,outlook这样的邮件客户端软件,并且有命令行的形式来发送邮件呢。mutt和msmtp提供了一个很好的解决方案。
以下是配置方案:
1)下载msmtp
wget http://downloads.sourceforge.net/msmtp/msmtp-1.4.16.tar.bz2?modtime=1217206451&big_mirror=0
2)解压:
 tar jxvf msmtp-1.4.16.tar.bz2
3)安装:
./configure --prefix=/usr/local/msmtp
 make&&make install
4) 配置 msmtp账号:
新建文件/usr/local/msmtp/etc/msmtprc(也可以在主目录下建立个.msmtprc文件,如果只是自己用的话)
编辑内容:
defaults
account test
host 发送邮件服务器名称或ip
 from  发送的Email地址
auth login
user    邮件服务器登录账号
password  邮件服务器登陆密码
account default : test    //设置默认账户
 5)测试客户端是否可用
/usr/local/msmtp/bin/msmtp 目标邮件地址
随便输入一些字符,然后按ctrl+D退出,去目标邮件地址查看邮件是否收到。
6)配置mutt,mutt一般linux都会默认安装
编辑mutt配置文件:/etc/Muttrc,修改以下几行:(也可以在主目录下建立个.muttrc文件编辑,如果只是自己用的话)set sendmail="/usr/local/msmtp/bin/msmtp"
set use_from=yes
set realname="发送邮件地址"
set editor="vi"
7)保存退出,测试一下mutt是否有效:
echo "测试内容" | mutt -s "测试主题" 目标邮件地址