Linux 下如何用 mutt 设置邮件报警

简介:
Linux 下如何用 mutt 设置邮件报警


在Linux里,很多人都会使用到邮件报警,而且这方面的软件也众多,常见的像SendMail, sendEmail, Postfix等等,它们的优缺点我就不说了,使用上也各有所爱。

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

系统环境: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版本有些微的差别,具体命令如下:

 
 
  1. 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)




本文来自云栖社区合作伙伴“Linux中国”

原文发布时间为:2013-04-02.

相关文章
|
1月前
|
监控 Oracle 关系型数据库
Linux平台Oracle开机自启动设置
【11月更文挑战第8天】在 Linux 平台设置 Oracle 开机自启动有多种方法,本文以 CentOS 为例,介绍了两种常见方法:使用 `rc.local` 文件(较简单但不推荐用于生产环境)和使用 `systemd` 服务(推荐)。具体步骤包括编写启动脚本、赋予执行权限、配置 `rc.local` 或创建 `systemd` 服务单元文件,并设置开机自启动。通过 `systemd` 方式可以更好地与系统启动过程集成,更规范和可靠。
|
1月前
|
Oracle Ubuntu 关系型数据库
Linux平台Oracle开机自启动设置
【11月更文挑战第7天】本文介绍了 Linux 系统中服务管理机制,并详细说明了如何在使用 systemd 和 System V 的系统上设置 Oracle 数据库的开机自启动。包括创建服务单元文件、编辑启动脚本、设置开机自启动和启动服务的具体步骤。最后建议重启系统验证设置是否成功。
|
1月前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
106 3
|
2月前
|
Ubuntu Linux
Linux实践|设置静态 IP 地址
Linux实践|设置静态 IP 地址
74 0
Linux实践|设置静态 IP 地址
|
2月前
|
Linux 应用服务中间件 nginx
Linux下权限设置之suid、sgid、sticky
Linux下权限设置之suid、sgid、sticky
|
3月前
|
NoSQL Linux Redis
Linux Redis 服务设置开机自启动
【9月更文挑战第2天】在 Linux 系统中,可使用两种方法设置 Redis 开机自启动:一是通过创建 `redis.service` 文件并利用 systemd 进行管理,包括定义服务参数和启动脚本;二是编辑 `/etc/rc.local` 文件,在其中添加启动命令。推荐使用 systemd 方法,因为它更符合现代 Linux 系统的设计理念。设置完成后,可通过 `sudo systemctl status redis.service` 检查服务状态。
512 3
|
3月前
|
Linux Shell
10-8|linux date设置时间
10-8|linux date设置时间
|
3月前
|
Unix Linux Python
Cron定时设置在linux和mac中的使用
文章详细说明了如何在Linux和Mac操作系统中使用Cron进行定时任务的设置,并提供了多个Cron表达式的实例。
44 0
|
4月前
|
存储 监控 网络协议
在Linux中,如何进行邮件服务器配置?
在Linux中,如何进行邮件服务器配置?
|
4月前
|
Linux 网络安全
在Linux中,如何设置防火墙规则?
在Linux中,如何设置防火墙规则?