天天看点

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

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

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

系统环境:centos 6.5

<a></a>

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

openssl:

<code>openssl version -a #检查安装及版本信息</code>

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

<code>rpm -qa | grep sasl</code>

查询到如下即可:

<code>cyrus-sasl-gssapi-2.1.23-15.el6_6.2.x86_64</code>

<code>cyrus-sasl-devel-2.1.23-15.el6_6.2.x86_64</code>

<code>cyrus-sasl-lib-2.1.23-15.el6_6.2.x86_64</code>

<code>cyrus-sasl-plain-2.1.23-15.el6_6.2.x86_64</code>

<code>cyrus-sasl-2.1.23-15.el6_6.2.x86_64</code>

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

<code>/etc/init.d/saslauthd start</code>

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

<code>chkconfig saslauthd on</code>

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

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

<code># 解压后进入mutt目录</code>

<code>cd /root/mutt-1.6.0</code>

<code></code>

<code># 编译:</code>

<code>./configure --prefix=/usr/local/mutt --enable-pop --enable-smtp --with-ssl --with-sasl</code>

<code># 说明</code>

<code>--enable-pop 启用pop</code>

<code>--enable-smtp 启用smtp</code>

<code>--with-ssl --with-sasl 在启用上述协议的情况下,必须使用更安全的加密</code>

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

<code># 安装</code>

<code>make &amp;&amp; make install</code>

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

默认设置: 

<code>set alias_file="~/.muttrc"</code>

<code>cat /usr/local/mutt/etc/muttrc | grep -v ^# | grep -v ^$ &gt; ~/.muttrc</code>

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

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

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

<code>set from="[email protected]" #设置发件人地址</code>

<code>set realname="张三" #发件人姓名</code>

<code>set smtp_pass="999999" #密码</code>

<code>set smtp_url="smtps://[email protected]:465/" #发件人帐号和邮件主机信息,qq邮箱必须使用安全连接</code>

<code>set use_envelope_from=yes #使用自定义发件人邮箱</code>

<code>set use_from=yes #使用自定义发件人姓名</code>

mutt-1.6版本的发送邮件的语法跟1.4版本有些微的差别,具体命令如下:

<code>mutt -s "title使用" -a /usr/local/mutt/content.txt -- [email protected] &lt; /root/1</code>

说明

-s 邮件标题

-a 附件

-- 后面跟上收件人信息

&lt; 后面是邮件正文内容,也可以在前面echo xxx的形式给出。如下:

<code>echo xxx|mutt -s "title使用" -a /usr/local/mutt/content.txt -- [email protected]</code>

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

其中一个错误信息:

<code>[root@x63 mutt]# echo "hello" | mutt -s "title" -- [email protected]</code>

<code>tlsv1.2 connection using tlsv1/sslv3 (aes256-sha256)</code>

<code>smtp authentication requires sasl</code>

<code>could not send the message.</code>

这是认证失败了。

发送成功的信息:

<code>[root@x63 mutt]# echo "hello3" | mutt -s "title" -- [email protected]</code>

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

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

继续阅读