(独家)Linux邮件报警神器 mutt
在Linux里,很多人都会使用到邮件报警,而且这方面的软件也众多,常见的像SendMail, sendEmail, Postfix等等, 它们的优缺点我就不说了,使用上也各有所爱。今天我要给大家介绍的mutt,也许大家也不陌生, 网上太多关于mutt和sendmail或者跟msmtp合作使用的教程。其实,mutt非常的强大只要你仔细研究一下官方文档 (链接http://www.mutt.org/doc/manual) 系统环境:CentOS 6.5 在正式安装mutt之前,先检查一下2个安全组件。 OPENSSL: openssl version -a #检查安装及版本信息 SASL(系统一般已经自带): rpm -qa | grep sasl 查询到如下即可: cyrus-sasl-gssapi-2.1.23-15.el6_6.2.x86_64 cyrus-sasl-devel-2.1.23-15.el6_6.2.x86_64 cyrus-sasl-lib-2.1.23-15.el6_6.2.x86_64 cyrus-sasl-plain-2.1.23-15.el6_6.2.x86_64 cyrus-sasl-2.1.23-15.el6_6.2.x86_64 如果sasl没有运行,先启动: /etc/init.d/saslauthd start 最好是加入到自启动项目中去: chkconfig saslauthd on 因为发送邮件的时候会需要用到安全认证。 1,安装 官方网站上下载最新版本,或者直接在本站下载,我已上传至51下载中心。 下载地址 http://down.51cto.com/data/2214372 # 解压后进入mutt目录 cd /root/mutt-1.6.0 # 编译: ./configure --prefix=/usr/local/mutt --enable-pop --enable-smtp --with-ssl --with-sasl #说明 --enable-pop 启用pop --enable-smtp 启用smtp --with-ssl --with-sasl 在启用上述协议的情况下,必须使用更安全的加密 PS: 因为我用的测试帐号是QQ邮件,qq邮件使用smtp协议的时候要求必须使用ssl安全连接, 而在mutt里使用安全连接又必须使用sasl加密,所以上述2个安全组件在编译安装的时候得加上。 要不然发送邮件的时候会出现“SMTP authentication requires SASL”或者另外一个跟ssl有关的错误。 # 安装 make && make install 2,配置文件 方法1:安装好后,拷贝一份安装目录下/usr/local/mutt/etc/的配置文件Muttrc到/root/.muttrc, 也可以直接修改配置文件,设置读取的配置文件路径到安全目录,这样就无需拷贝了。 默认设置: set alias_file="~/.muttrc" 方法2:cat /usr/local/mutt/etc/Muttrc | grep -v ^# | grep -v ^$ > ~/.muttrc 这样都可以得到默认的配置文件信息。 安装完成后,我们仅需要设置的信息如下: set folder="./Mail" #设置本地的收件箱,如果不设置发送邮件的时候会提示 set from="123456789@qq.com" #设置发件人地址 set realname="张三" #发件人姓名 set smtp_pass="999999" #密码 set smtp_url="smtps://123456789@smtp.qq.com:465/" #发件人帐号和邮件主机信息,QQ邮箱必须使用安全连接 set use_envelope_from=yes #使用自定义发件人邮箱 set use_from=yes #使用自定义发件人姓名 3,测试 mutt-1.6版本的发送邮件的语法跟1.4版本有些微的差别,具体命令如下: mutt -s "Title使用" -a /usr/local/mutt/content.txt -- rep@shoujianren.com < /root/1 #说明 -s 邮件标题 -a 附件 -- 后面跟上收件人信息 < 后面是邮件正文内容,也可以在前面echo xxx的形式给出。如下: echo xxx|mutt -s "Title使用" -a /usr/local/mutt/content.txt -- rep@shoujianren.com 看吧,无需与其它软件合作,mutt就可以独立完成发送邮件,当然,接收也没问题,只是在邮件报警这个需求上用不着。 其中一个错误信息: [root@x63 mutt]# echo "Hello" | mutt -s "Title" -- xxx@xxxx.com TLSv1.2 connection using TLSv1/SSLv3 (AES256-SHA256) SMTP authentication requires SASL Could not send the message. 发送成功的信息: [root@x63 mutt]# echo "Hello3" | mutt -s "Title" -- xxx@xxxx.com TLSv1.2 connection using TLSv1/SSLv3 (AES256-SHA256)

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
简单说说THP——记一次数据库服务器阻塞的问题解决
背景:公司某个大型业务系统反馈最近数据库服务器总是宕机(此处描述不准确,后面解释),最后,客户、运维人员都觉得实在是忍无可忍了,项目经理打电话找到我问是否能帮忙诊断一下,刚好第二天要去现场沟通另外一个系统的测试需求,于是答应第二天顺便看一下。------------------------------------排查解决过程:第二天来到现场,正在沟通需求的时候,运维人员突然说,操作又开始卡了,于是连上服务器,先用top大概看了一下资源的使用情况,此时CPU已经基本上满载了,而且可以发现用户态的CPU占比并不高,大部分时间竟然都是内核态的CPU占用, 当时我开始怀疑可能是数据库服务对底层的某个调用出了问题,有死循环?于是立刻用perf top大概看了一下, 发现比重较大的是自旋锁还有一个compaction_alloc,内存碎片整理?从该信息判断,可能是内存的什么操作导致了很多线程在临界区各种等待。为了进一步弄明白具体是什么操作导致,于是对内核参数的调用栈进行取样perf record -a -g -F 1000 sleep 60“-g'的意思是按照调用关系存储数据;“-F 1000 s...
- 下一篇
Java线程泄露的分析与处理
1. 生产环境的异常现象及初步分析 最近发现系统程序内存消耗越来越大,开始并没特别注意,就简单调了一下jvm参数。但直到前些天内存爆满,持续Full GC,这肯定出现了内存泄露。 原以为哪里出现了比较低级的错误,所以很直接想到先去看看程序是在跑哪段代码。jstack -l <pid>以后,居然有上千个线程,而且都是属于RUNNING并WAIT的状态。 I/Odispatcher125"#739prio=5os_prio=0tid=0x0000000002394800nid=0x1e2arunnable[0x00007f5c2125b000] java.lang.Thread.State:RUNNABLE atsun.nio.ch.EPollArrayWrapper.epollWait(NativeMethod) atsun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269) atsun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:79) at...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Hadoop3单机部署,实现最简伪集群
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Windows10,CentOS7,CentOS8安装Nodejs环境
- MySQL8.0.19开启GTID主从同步CentOS8