2013年5月10日星期五
【Guiplee原创】msmtp+mutt安装、配置、实现自动发邮件
日前写过linux发送邮件的文章:linux使用命令sendmail发送邮件,sendmail在crontab里是不能运行的,所以sendmail不能用来自动发送邮件。所以博主寻求其他方法,百度,谷歌发现用msmtp+mutt可以实现,于是找来教程按照教程进行安装、配置,结果错误百出啊,很多教程都有错误,不一定适用于所有主机。于是博主自己结合自己的系统写了这篇教程,博主的系统是:CentOS release 5.7 (Final)。邮箱使用的是163邮箱。
查看系统版本:
cat /etc/issue
1. 下载
首先下载msmtp,执行命令:
wget http://nchc.dl.sourceforge.net/project/msmtp/msmtp/1.4.28/msmtp-1.4.28.tar.bz2
2. 安装
解压msmtp-1.4.28.tar.bz2 【常用解压和压缩命令】 :
tar -xjf msmtp-1.4.28.tar.bz2
进入msmtp-1.4.28.tar文件夹 :
cd msmtp-1.4.28
安装msmtp:-prefix 为指定文件夹
./configure –prefix=/usr/local/msmtp
make
make install
3. 配置
手动创建文件msmtp.log
touch /usr/local/msmtp/msmtp.log
切换目录到/root
cd ~
创建并编辑 .msmtprc [注意文件名线面的 点 不要漏掉]
vi .msmtprc
输入下面配置内容:
# Example for a user configuration file
# Set default values for all following accounts.
defaults
logfile /usr/local/msmtp/msmtp.log
account 163
host smtp.163.com
# 邮件发送方的邮件地址
from guiplee@163.com
auth login
# 邮箱的用户名,即登陆163邮箱的用户名
user "guiplee"
# 邮箱密码,即登陆163邮箱的用户名password "45664.com"
# Set a default account
account default : 163
保存退出,不会使用vi 命令的请用本地编辑以后上传到/root目录。
下面配置完成以后进行一下简单的测试:
/usr/local/msmtp/bin/msmtp guiplee@gmail.com
输入任意的内容,回车 然后ctrl+D 退出
然后查看邮箱是否收到邮件,有的时候邮件在垃圾箱里面,没收到邮箱请检查配置文件
4. 安装mutt
我这里是Centos系统,所以我直接用 yum安装
yum install mutt
5. 配置mutt
然后在/root 目录下创建并编辑 .muttrc文件【注意文件名的点】
vi .muttrc
输入如下配置:
set sendmail="/usr/msmtp/bin/msmtp"
set use_from=yes
set realname="发信人的名字,比如:网站备份系统"
# 发件人的邮箱,可随便填,例如:10000@qq.com
set from=root@45664.com
set rfc2047_parameters=yes
6. 测试
发送邮件测试
echo "内容" | mutt -s "主题" 361671574@qq.com
7. 加入 crontab 是系统自动发邮件
将echo "内容" | mutt -s "主题" 361671574@qq.com保存到mail.sh中,进入/root文件夹
cd ~
vi mail.sh
输入如下内容:
#!/bin/bash
echo "contents" | mutt -s "subject" 361671574@qq.com
给mail.sh执行权限:
chmod +x /root/mail.sh
加入crontab让其自动运行:
crontab -e
每天凌晨1:00自动发邮件:
00 1 * * * /root/mail.sh
* 具体的crontab规则请见下一教程。
至此配置完成,实现系统自动发邮件!
希望对大家有帮助
转载请注明出处:http://blog.guiplee.com
订阅:
博文评论 (Atom)
没有评论:
发表评论