Linux里msmtp搭配mutt发送邮件的过程

简介:

前段时间屡屡不顺心,confluence验证密码不对劲,tomcat里java的path又设定有问题,总是卡在配置的路上让人很恼火,无法完成 task让人更上火,于是就没心没肺猛玩了两天也猛睡了两天,把黑眼圈消了消,精神好像好了很多,于是乎就继续重振旗鼓要继续一个一个的解决问题。


zabbix一般来说使用msmtp来发送邮件通知运维人员服务器出问题了,如果公司比较穷,没有自己的邮件服务器的话,那么搭建一个邮件环境是必需的,本人是虚拟机,系统是centos 6.7。


因为是做实验,所以直接用了root账户登录,但是在实际生产的时候,是不可能把root账号随便给人的,所以先说一下root 账号的操作邮件情况,然后再说一下其他账号登陆的情况。


#wget https://sourceforge.net/projects/msmtp/files/msmtp/1.6.5/msmtp-1.6.5.tar.xz/download

下载1.6.5版本的msmtp先。


msmtp就是运维员有两个邮件,msmtp使用邮件A给邮件B发信息,我的邮件A是新浪的邮件,B邮箱是网易的。root账户下,先#cd /usr/local/msmtp/etc/,然后#touch msmtprc,这是一个配置文件,具体配置如下:

wKiom1akxVuCQOSeAABWG5lufGY093.png

原理上来说,配置完毕就可以# /usr/local/msmtp/bin/msmtp B邮箱地址,回车之后输入正文内容,然后ctrl+D发送这个邮件,但是这样的话,会发现ctrl+D也是不好使的,不报错但是接收不到,而且因为没报错,在日志文件里显示是OK,而在A邮箱发现有发送失败的系统退信。


这个时候安装一下mutt,#yum -y install mutt,然后#mv /etc/Muttrc Muttrc.back,因为Muttrc原来是存在的,但是里面稀里哗啦一大片不是需要的东西,于是就先改个名字,再重新touch一个,这个起名叫Muttrc,然后里面具体的配置如下:

wKioL1akyJHQBAF2AAArMs7x6c4012.png

这样,几个关于msmtp的重要文件位置如下:

msmtp的执行文件地址是:/usr/local/msmtp/bin/msmtp 

msmtp的配置文件地址是:/usr/local/msmtp/etc/msmtprc

msmtp的日志文件地址是:/usr/local/msmtp/msmtp.log


配置完毕之后,就可以#echo "邮件内容" | mutt -s "邮件的标题"  邮箱B的地址

输入之后回车不报错就是发送成功了,发送成功的日志信息的显示应该是:

wKioL1akydiirXLnAAAbRHhfL_E617.png

如果需要在邮件里加入附件,格式如下:#echo "邮件内容" | mutt -s "邮件标题" -a 附件的绝对路径  邮箱B的地址要多加附件,那么就多加-a就行


如果这个方法报错,提示“无法stat chenx1242@163.com:没有那个文件或目录 无法添加邮件”的话,那么换一个语句:

# mutt -s "邮件标题" chenx1242@163.com -a 附件的绝对路径

我这里在桌面touch了一个111.txt,里面加上了两句话,然后发送到我的163邮箱,验证这个方法是OK的。

wKioL1ak18Sj18EVAAA_SbP3kfE652.png

我这里没有使用echo加入邮件的正文,输入这个发送邮件的命令之后,界面会变,问你是否要建立一个email文件,我选择了no,然后界面如下:

wKiom1ak18KT_5odAAL8sRgVTPs824.png按y就发送出去了这个邮件,然后去邮箱检查,获得此邮件。


如果使用了echo加入了正文,比如# echo "I love Perfume"|mutt -s "兔子窝" chenx1242@163.com -a /root/桌面/111.txt ,那么就不会出现那个界面,而是直接发送成功。




 本文转自 苏幕遮618 51CTO博客,原文链接:http://blog.51cto.com/chenx1242/1736651

相关文章
|
7月前
|
存储 监控 Linux
linux搭建EwoMail开源邮件服务器软件
linux搭建EwoMail开源邮件服务器软件
99 0
|
Linux
Linux通过mailx向网易163发送邮件
Linux通过mailx向网易163发送邮件 以rsync文件传输校验是否完整为例
477 0
Linux通过mailx向网易163发送邮件
|
4月前
|
存储 监控 网络协议
在Linux中,如何进行邮件服务器配置?
在Linux中,如何进行邮件服务器配置?
|
4月前
|
关系型数据库 MySQL Linux
在Linux中,如何配置邮件服务器?
在Linux中,如何配置邮件服务器?
|
Linux
Linux通过QQ邮箱账号使用mailx发送邮件
Linux通过QQ邮箱账号使用mailx发送邮件
276 2
|
7月前
|
Shell Linux 数据库
【Shell 命令集合 网络通讯 】Linux 更新邮件别名数据库 newaliases命令 使用指南
【Shell 命令集合 网络通讯 】Linux 更新邮件别名数据库 newaliases命令 使用指南
61 1
|
7月前
|
运维 Ubuntu Linux
linux发送邮件使用外部邮箱
linux发送邮件使用外部邮箱
|
Java Linux 网络安全
Linux CentOS7搭建邮件服务器并用Foxmail和Java代码发送邮件(下)
Linux CentOS7搭建邮件服务器并用Foxmail和Java代码发送邮件(下)
625 0
|
域名解析 Java Linux
Linux CentOS7搭建邮件服务器并用Foxmail和Java代码发送邮件(上)
Linux CentOS7搭建邮件服务器并用Foxmail和Java代码发送邮件(上)
727 0
|
域名解析 监控 网络协议
Linux 内网发送邮件
有些问题需要第一时间发邮件报警出来,否则漏掉之后比较麻烦。
112 0