今天没事着摸了一下msmtpmutt发送报警,于是找来教程按照教程进行安装、配置,结果错误百出啊,很多教程都有错误,不一定适用于所有主机。于是博主自己结合自己的系统写了这篇教程,博主的系统是:CentOS6.2。邮箱使用的是163邮箱


首先要下载libidn-1.8.tar.gz

#tarzxvflibidn-1.8.tar.gz

#cdlibidn-1.8
#./configure&&make&&makeinstall

msmtp是一款专门负责邮件发送的客户端软件,基于GPL发布。支持TLS/SSL、DNS模式、IPv6、服务器端认证、多用户等特性。该软件和mpop是姊妹软件。
注: 如需要对TLS/SSL的支持,还需要安装>=GnuTLS-1.2.0或者>=OpenSSL-。
1.下载
首先下载msmtp,执行命令:

msmtp-1.4.5.tar.bz2(安装成功,别的版本没测试过)

2.安装
解压msmtp-1.4.5.tar.bz2
tar-xjfmsmtp-1.4.5.tar.bz2

进入msmtp-1.4.5.tar.bz2文件夹:
cdmsmtp-1.4.5

安装msmtp:-prefix为指定文件夹
./configure–prefix=/usr/local/msmtp

在这儿要注意下结果
Installprefix.....:/usr/local/msmtp
NLSsupport........:yes
TLS/SSLsupport....:yes(Library:OpenSSL)
GNUSASLsupport...:no

make

我在这儿折腾了1个多小时,最后把系统自带的OpenSSL1.0卸载了,重新下载源码安装openssl-0.9.7i.tar.gz

makeinstall

3.配置
手动创建文件msmtp.log
touch/usr/local/msmtp/msmtp.log
cd/usr/local/msmtp/
mkdiretc
cdetc

创建并编辑msmtprc
vi.msmtprc
#Setdefaultvaluesforallfollowingaccounts.

defaults
logfile/usr/local/msmtp/msmtp.log

#TheSMTPserveroftheprovider.
accountxj.yang#邮箱登录名
hostmail.test.cn#必须是能用的正常mail服务器
fromxj.yang@test.cn#正常使用的email邮箱
authlogin

userxj.yang#对应你的邮箱帐号,@之前的用户名
password123456#对应该邮箱帐号的密码

#Setadefaultaccount
accountdefault:xj.yang#设置默认的帐号,当然如果有多个请使用:拼接
保存退出,不会使用vi命令的请用本地编辑以后上传到/root目录。

下面配置完成以后进行一下简单的测试:
/usr/local/msmtp/bin/msmtpxxx@qq.com

输入任意的内容,回车然后ctrlD退出

然后查看邮箱是否收到邮件,有的时候邮件在垃圾箱里面,没收到邮箱请检查配置文件

Mutt是一个功能强大的邮件客户端, 它是一款基于文字界面的邮件客户端,非常小巧,但功能强大,可以用它来读写,回复保存和删除你的邮件,能在linux命令行模式下收发邮件附件。这里是Mutt的官方网站:http://www.mutt.org。
4.安装mutt
我这里是Centos系统,所以我直接用yum安装
yuminstallmutt

5.配置mutt
vi/etc/Muttrc

这里面的内容很多,加入下列内容到最后

setsendmail=/usr/local/msmtp/bin/msmtp
setuse_from=yes
setrealname=xj.yang
setfrom=xj.yang@test.cn
setenvelope_from=yes

6.测试
echo"内容"|mutt-s"主题"xxxxx@qq.com

如果能正常接收,说明正常,至此配置完成!
错误解决:
2.4、卸载旧版本OpenSSL
apt-get purge openssl
rm-rf/etc/ssl #删除配置文件
2.5、编译与安装OpenSSL

prefix是安装目录,openssldir是配置文件目录,另外建议安装两次,shared作用是生成动态连接库。

 
 
wgetftp://ftp.openssl.org/source/openssl-0.9.7i.tar.gz
tar-zxf opeopenssl-0.9.7i.tar.gz
cd openssl-0.9.7i/
./config  --prefix=/usr/local--openssldir=/usr/local/ssl
make&&makeinstall
./config shared --prefix=/usr/local--openssldir=/usr/local/ssl
make clean
make&&makeinstall