CentOS 安装配置 msmtp 和 mutt

一个月前购买了国内的一个VPS,一边从零开始学习Linux,一边感受Linux的强大。前几天不小心把VPS折腾的无法重启了,求助服务商也没能把资料找回来,因为没有备份又找不回数据,只好重装了系统。出了问题才知道备份的重要性,于是开始研究备份,确切的说是自动备份。网上流传最多的文章就是使用mutt发送邮件附件进行备份的方法,照葫芦画瓢跟着就学会了,在IXWebHosting的主机上成功应用(IXWebHosting的主机也是支持cron的)。

可今天回到自己的VPS,sh脚本写好以后,文件成功打包,mutt命令执行了却发送不了邮件。搜索了一会才明白原来是mutt需要一个发信的程序,msmtp刚好是一个不错的选择。网上关于msmtp的文章也很多,下面我对几篇文章加工注释的结果,希望对像我一样的Linux新手有用。

一、安装配置msmtp

1、下载、解压 msmtp

先使用putty等工具登陆ssh

wget http://downloads.sourceforge.net/msmtp/msmtp-1.4.30.tar.bz2?big_mirror=0

tar jxvf msmtp-1.4.30.tar.bz2

2、安装

./msmtp-1.4.30/configure –prefix=/usr/local/msmtp
make
make install

注意红色标记出的目录,因为是解压到那个目录的。

3、配置msmtp账号

切换到,cd /usr/local/msmtp

新建文件夹etc,mkdir etc

使用vi新建文件,输入:vi /usr/local/msmtp/etc/msmtprc ,编辑内容如下:

# Set default values for all following accounts.
defaults
logfile /usr/local/msmtp/msmtp.log 
# The SMTP server of the provider. 
account test
# SMTP邮件服务器地址
host smtp.qq.com
# 发送的邮件Email
from [email protected]
auth login
# 邮件服务器登录账号
user [email protected]
# 邮件服务器登陆密码
password 123456
# Set a default account
account default: test

Esc,shift+: 进入命令模式,输入x,保存退出。

由于password是明码,所以我们需要修改此文件的权限 chmod 600 etc/msmtprc

4、测试

/usr/local/msmtp/bin/msmtp [email protected]

输入任意字符,然后按Ctrl+D退出,查看邮件是否收到。

由于设置了日志,可以到 /usr/local/msmtp/msmtp.log,查看日志,发信成功失败都会有记录。

二、安装配置mutt

1、一般Linux都会默认安装mutt,CentOS也不例外

可以使用which mutt查看mutt安装的路径,如果没有安装可以使用 # yum install mutt

2、编辑mutt配置文件

vi /etc/Muttrc ,编辑mutt的总设置,修改以下几行

set from="发送邮件地址"
set sendmail="/usr/local/msmtp/bin/msmtp"
set use_from=yes
set realname="发件人"
set editor="vi"

发件地址最好与msmtp设置的账号相同,否则可能会出错。

3、测试一下mutt是否有效

echo "测试测试" | mutt -s "测试" 测试邮件地址
echo "test" |mutt -s "my_first_test" [email protected]

我会给你自动回复的 😉

下面就可以使用mutt进行邮件备份等工作了,结合cron使用,可以实现的功能相当多。