您的位置:首页 > 运维架构 > Linux

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

2014-03-20 12:57 477 查看
这几天领导让我部署开发部门写的一个脚本,需要把脚本生成的附件通过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 文件的内容作为邮件内容。

好了,就这么简单
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: