shell实现发送mail提醒,邮件预警监控linux系统

1、安装邮件服务

 yum install -y mailx

2、配置邮件参数
(1)编辑mail.rc文件

vim /etc/mail.rc

(2)参数详情配置,注意在文件后添加一下内容,并带上对应的参数

set from=
set smtp=
set smtp-auth=
set smtp-auth-user=
set smtp-auth-password=
set ssl-verify=
set nss-config-dir=

(3)参数对应的内容配置为:
发件人
邮件服务地址
认证方式
认证用户
认证密码
是否开启ssl
...
(4)smtp的参数获取及设置:


image.png

3、发送邮件
(1)运行以下命令(注意修改邮件地址),出现等待内容输入,输入完成后,ctrl + D 发送

mail -s  "标题" 邮件地址

(2)配合echo发送邮件内容

echo "邮件内容"|mail -s "标题" 邮件地址

(3)带附件的邮件发送

echo "邮件内容"|mail -s "标题" -a /root/test.log 邮件地址

(4)将文件内容作为邮件内容发送

echo "邮件内容"|mail -s "标题" 邮件地址 </root/test.log

或者

cat /apps/logs/${fileName}.log |mail -s "邮件标题" 邮件地址 

4、问题解决
(1)出现邮件中文乱码
(2)发送的附件带有bin文件
5、解决思路:
(1)检查全局的编码格式,中文编码格式zh_CN.UTF-8

locale

(2)设置全局编码格式

vim /etc/profile
#输入以下内容保存
export LC_ALL="zh_CN.UTF-8"
export LANG="zh_CN.UTF-8"

source /etc/profile

(4)检查文件文件的编码格式,使用户vim命令,输入命令查看文件编码格式

vim 文件
:set fileencoding

若不是UTF-8编码格式,则会出现以上两个问题
(5)重新尝试发送邮件,检查邮件内容

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容