在做系统资源监控的时候需要一款既轻量又称手的发信程序,sendmail 配置起来还是太麻烦显然是不合适的,网上搜寻了一会儿找到了 mutt+msmtp 的解决方案对付系统资源告警邮件的发送已经足够。
接下来就简单介绍下如何安装及配置方法:
一、安装 mutt
yum -y install mutt
二、配置mutt
yum -y install nano
nano /etc/Muttrc
在里面找到下面几行,并将内容修改为你自己的内容(下面几行分布在不同位置,请耐心查找,记得去掉它行首的#号)
set from="发送邮件地址"
set sendmail="/usr/local/msmtp/bin/msmtp"
set use_from=yes
set realname="发件人姓名"
set editor="vim"
三、下载并解压msmtp
# CentOS 安装依赖
yum -y install gcc gcc-c++ gnutls gnutls-devel gnutls-utils openssl openssl-devel libidn libidn-devel
wget https://nchc.dl.sourceforge.net/project/msmtp/msmtp/1.4.30/msmtp-1.4.30.tar.bz2
tar jxvf msmtp-1.4.30.tar.bz2
四、编译安装
cd msmtp-1.4.30 && ./configure --prefix=/usr/local/msmtp
make
make install
五、配置msmtp
mkdir /usr/local/msmtp/etc
nano /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
保存并退出编辑器。
因为password
是明文的,所以此处最好修改文件的权限:
chmod 600 /usr/local/msmtp/etc/msmtprc
六、mutt的常用命令
mutt [-hnpRvxz][-a<文件>][-b<地址>][-c<地址>][-f<邮件文件>][-F<配置文件>][-H<邮件草稿>][-i<文件>][-m<类型>][-s<主题>][邮件地址]
Linux命令参数:
-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 -s "subject" -a /home/admin/backup.tar.gz [email protected] < /tmp/x.txt
-s: 邮件标题,用""括上
-a: 邮件附件。如上命令就是将/backup
目录下backup.tar.gz
文件作为附件发送。< /tmp/x.txt
表示/tmp目录下x.txt文件里的内容作为邮件内容发送。
给多人发送邮件,只要在邮箱地址后加空格接着输入邮箱地址即可,如:
mutt -s "subject" -a /home/admin/backup.tar.gz [email protected] [email protected] [email protected]< /tmp/x.txt
七、邮件测试
上面配置好msmtp和mutt之后就可以进行发信测试,运行以下语句
echo "邮件内容" |mutt -s "邮件主题" 收件者邮箱
由于已经创建了日志文件,如果发信失败可以查看日志排查问题所在
cat /usr/local/msmtp/msmtp.log
如果发信测试成功,接下来就可以使用mutt进行邮件备份等工作了,结合cron
使用,可以实现的功能相当多。比如每天定时检测磁盘的占用率,如果占用率高的话,便发送邮件提示管理员该来处理一下。可以参考文章《监控Linux系统负载/CPU定时发送监控邮件》,其他用途,各位可以根据你们的需要来自己写脚本。
相关推荐
- 哪吒监控:赏心悦目的服务器监控面板、轻量运维系统!
- TeaWeb-可视化web代理服务及资源监控
- Ubuntu/Debian 系统安装配置 UFW 简单防火墙
- CentOS 7 安装使用 iptables 防火墙方法介绍
- Linux 服务器配置密钥实现远程免密登录
- CentOS 7 firewalld 防火墙常用命令汇总
文章作者:喵斯基部落
原文地址:https://www.moewah.com/archives/256.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。非商业转载及引用请注明出处(作者、原文链接),商业转载请联系作者获得授权。