UDN-企业互联网技术人气社区

板块导航

浏览  : 1463
回复  : 0

[运维] Linux 下如何用 mutt 设置邮件报警

[复制链接]
呵呵燕的头像 楼主
发表于 2016-10-7 12:44:57 | 显示全部楼层 |阅读模式
  在Linux里,很多人都会使用到邮件报警,而且这方面的软件也众多,常见的像SendMail, sendEmail, Postfix等等,它们的优缺点我就不说了,使用上也各有所爱。

  今天我要给大家介绍的mutt,也许大家也不陌生,网上太多关于mutt和sendmail或者跟msmtp合作使用的教程。其实,mutt非常的强大只要你仔细研究一下官方文档。

221009ftszz63j3b8qlj13.png


  系统环境:CentOS 6.5

  0、在正式安装mutt之前

  先检查一下两个安全组件。

  OPENSSL:

 
  1.  openssl version -a #检查安装及版本信息
复制代码


  SASL(系统一般已经自带):

 
  1.  rpm -qa | grep sasl
复制代码


  查询到如下即可:

  1.   cyrus-sasl-gssAPI-2.1.23-15.el6_6.2.x86_64

  2.   cyrus-sasl-devel-2.1.23-15.el6_6.2.x86_64

  3.   cyrus-sasl-lib-2.1.23-15.el6_6.2.x86_64

  4.   cyrus-sasl-plain-2.1.23-15.el6_6.2.x86_64

  5.   cyrus-sasl-2.1.23-15.el6_6.2.x86_64
复制代码


  如果sasl没有运行,先启动:

 
  1.  /etc/init.d/saslauthd start
复制代码


  最好是加入到自启动项目中去:

 
  1.  chkconfig saslauthd on
复制代码


  因为发送邮件的时候会需要用到安全认证。

  1、安装

  官方网站上下载最新版本。

  1.   # 解压后进入mutt目录

  2.   cd /root/mutt-1.6.0

  3.   # 编译:

  4.   ./configure --prefix=/usr/local/mutt --enable-pop --enable-smtp --with-ssl --with-sasl

  5.   # 说明

  6.   --enable-pop 启用pop

  7.   --enable-smtp 启用smtp

  8.   --with-ssl --with-sasl 在启用上述协议的情况下,必须使用更安全的加密
复制代码


  PS: 因为我用的测试帐号是QQ邮件,qq邮件使用smtp协议的时候要求必须使用ssl安全连接,而在mutt里使用安全连接又必须使用sasl加密,所以上述2个安全组件在编译安装的时候得加上。要不然发送邮件的时候会出现“SMTP authentication requires SASL”或者另外一个跟ssl有关的错误。

  1.   # 安装

  2.   make && make install
复制代码


  2、配置文件

  方法1:

  安装好后,拷贝一份安装目录下/usr/local/mutt/etc/的配置文件Muttrc到/root/.muttrc,也可以直接修改配置文件,设置读取的配置文件路径到安全目录,这样就无需拷贝了。

  默认设置:

  1.   set alias_file="~/.muttrc"
复制代码


  方法2:

 
  1.  cat /usr/local/mutt/etc/Muttrc | grep -v ^# | grep -v ^$ > ~/.muttrc
复制代码

  这样都可以得到默认的配置文件信息。

  安装完成后,我们仅需要设置的信息如下:

  1.   set folder="./Mail" #设置本地的收件箱,如果不设置发送邮件的时候会提示

  2.   set from="123456789@qq.com" #设置发件人地址

  3.   set realname="张三" #发件人姓名

  4.   set smtp_pass="999999" #密码

  5.   set smtp_url="smtps://123456789@smtp.qq.com:465/" #发件人帐号和邮件主机信息,QQ邮箱必须使用安全连接

  6.   set use_envelope_from=yes #使用自定义发件人邮箱

  7.   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的形式给出。如下:

 
  1.  echo xxx|mutt -s "Title使用" -a /usr/local/mutt/content.txt -- rep@shoujianren.com
复制代码


  看吧,无需与其它软件合作,mutt就可以独立完成发送邮件,当然,接收也没问题,只是在邮件报警这个需求上用不着。

  其中一个错误信息:

 
  1.  [root@x63 mutt]# echo "Hello" | mutt -s "Title" -- xxx@xxxx.com

  2.   TLSv1.2 connection using TLSv1/SSLv3 (AES256-SHA256)

  3.   SMTP authentication requires SASL

  4.   Could not send the message.
复制代码


  这是认证失败了。

  发送成功的信息:

 
  1.  [root@x63 mutt]# echo "Hello3" | mutt -s "Title" -- xxx@xxxx.com

  2.   TLSv1.2 connection using TLSv1/SSLv3 (AES256-SHA256)
复制代码


原文作者:佚名  来源:开发者头条

相关帖子

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们
联系我们
  • 电话:010-86393388
  • 邮件:udn@yonyou.com
  • 地址:北京市海淀区北清路68号
移动客户端下载
关注我们
  • 微信公众号:yonyouudn
  • 扫描右侧二维码关注我们
  • 专注企业互联网的技术社区
版权所有:用友网络科技股份有限公司82041 京ICP备05007539号-11 京公网网备安1101080209224 Powered by Discuz!
快速回复 返回列表 返回顶部