0、在正式安装Mutt之前
先检查一下两个安全组件。
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、安装
官方网站上下载最新版本。
# 解压后进入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、Mutt的基本用法
使用Mutt发邮件极其方便,是一个文字模式的邮件管理程序,提供了全屏幕的操作界面。只需要一条命令即可发送或者批量发送邮件:
mutt [-hnpRvxz][-a文件>][-b地址>][-c地址>][-f邮件文件>][-F配置文件>][-H邮件草稿>][-i文件>][-m类型>][-s主题>][邮件地址]
这里来详细说一下参数:
-a文件> 在邮件中加上附加文件。
-b地址> 指定密件副本的收信人地址。
-c地址> 指定副本的收信人地址。
-f邮件文件> 指定要载入的邮件文件。
-F配置文件> 指定mutt程序的设置文件,而不读取预设的.muttrc文件。
-h 显示帮助。
-H邮件草稿> 将指定的邮件草稿送出。
-i文件> 将指定文件插入邮件内文中。
-m类型> 指定预设的邮件信箱类型。
-n 不要去读取程序培植文件(/etc/Muttrc)。
-p 在mutt中编辑完邮件后,而不想将邮件立即送出,可将该邮件暂缓寄出。
-R 以只读的方式开启邮件文件。
-s主题> 指定邮件的主题。
-v 显示mutt的版本信息以及当初编译此文件时所给予的参数。
-x 模拟mailx的编辑方式。
-z 与-f参数一并使用时,若邮件文件中没有邮件即不启动mutt。
掌握了这些基本上就能基础地使用Mutt,够方便吧~接下来就要介绍本文的主题、使用其邮件警报功能:
3、配置邮件警报功能
方法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 #使用自定义发件人姓名
4、测试
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)