mutt+msmtp 做linux邮件客户端

时间:2020-12-28 18:10:51

使用mutt+msmtp做linux邮件客户端

这几天领导让我部署开发部门写的一个脚本,需要把脚本生成的附件通过email发到他的邮箱里面去。那就开始干吧,因为之前一直用mail 命令来发邮件,可是这次行不通了。因为要带附件。有人告诉我mail 命令也能带附件,可是我怎么也没找到相关的参数。可又不想搭个mail服务器,因为闲麻烦。  
于是就开始在网上找简单又有效的命令行客户端,还真让我找到了。那就是MUTT+MSMTP,看到网上好多文章,拿出几个来照着做了做,结果报各种各样的问题。    
还是自己看看具体每个参数作用吧!    
经过一番整理,去掉些没用的参数后测试成功。现在把具体的操作步骤写在下面:    
我 的目的其实很简单,就是利用MUTT和MSMTP 登录163的邮件服务器发邮件。为什么非要登录163邮箱呢?因为我测试过qq邮箱、yahoo还有sina的邮箱都发布出去,只有163的一连就通了, 我估计是邮箱设置里验证的关系,也不想去深研究他了。下面给出具体步骤    
首先去163申请个免费邮箱,收费免费都一样    
下载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.163.com #你的发送邮件服务器    
port 25    
from xman@163.com #要从哪个邮箱发出    
auth login #这里如果使用on的话会报 "msmtp: cannot use a secure authentication method"错误    
tls off    
user xman@163.com #邮箱用户名    
password xmanufo  #邮箱密码,这里可是明文的,如果你觉得不安全可以把文件改为600属性    
logfile /var/log/mmlog    
保存退出。    
简单测试一下    
/usr/local/msmtp/bin/msmtp xman@163.com 
随便输入一些内容用ctrl+d结束。然后到邮箱看看有没有收到,如果这里提示错误按照错误代码找原因,或者看看上面的日志文件    
下面开始安装 MUTT 如果是CentOS的话直接用yum就好了    
yum install mutt    
安装完成后要手动给他建立一个配置文件,    
vim /etc/Muttrc    
set sendmail="/usr/local/msmtp/bin/msmtp" #你的msmtp命令路径    
set use_from=yes    
set realname="xman@163.com"    
set editor="vim"    
简单的4行就可以了    
好了,让我们来测试一下吧!    
echo "testmail" | mutt -s "测试" -a /etc/hosts ufo@sina.com 
这里的-a 是指添加附件,如果是多个附件的话就 多加几个 -a 文件名    
还可以这样    
mutt -s "测试" -a /etc/hosts -a /etc/apple ufo@sina.com < /tmp/imax.txt    
这个的意思就是以 /tmp/imax.txt 文件的内容作为邮件内容。

好了,就这么简单.

自己试验后发现问题,有报错,如下:

[root@bogon report]#&#160; echo "fujian" |mutt -s "fujian_test"&#160; -a "/root/qingshell/report/8.8.8.8.xls" qing@123.com  
无法 stat qing@123.com:没有那个文件或目录    
qing@123.com:无法附加文件    
后来解决,添加一个-b参数,这样发送附件就没问题了...

如下:echo "fujian" |mutt -s "fujian_test"&#160; -a "/root/qingshell/report/8.8.8.8.xls" -b qing@123.com