一、设置并取得smtp.qq.com的授权密码
二、安装配置邮件客户端工具mailx
[root@y_zilong ~]# yum install -y mailx
编辑配置文件
#vim /etc/mail.rc
set from=123456789@qq.com #对方收到邮件时显示的发件人
set smtp=smtp.qq.com #第三方发邮件的smtp服务器地址
set smtp-auth-user=123456789@qq.com #第三方发邮件的用户名
set smtp-auth-password=XXXXXXXX #qq邮箱的授权码
[root@y_zilong ~]# cat /etc/mail.rc
set from=123456789@qq.com #填自己的邮箱就好
set smtp=smtp.qq.com
set smtp-auth-user=123456789@qq.com #跟上面的邮箱一样就好
set smtp-auth-password=XXXXXX #收到的授权码
[root@y_zilong ~]#
三、测试邮件发送
1、无邮件正文
mail -s “邮件主题” 收件人邮箱
2、有邮件正文
echo "邮件正文" | mail -s “邮件主题” 12345678@163.com
mail -s "邮件主题“ 12345678@qq.com < /data/test.txt
cat test.txt |mail -s “邮件主题” 12345678@163.com
[root@y_zilong ~]# echo "hello" |mail -s 你好 12345678@163.com
注意:
假如没有到邮件,可以在mail里面查看是什么问题
[root@y_zilong ~]# mail
Heirloom Mail version 12.5 7/5/10. Type ? for help.
"/var/spool/mail/root": 1 message
> 1 user@localhost.local Mon Sep 21 04:11 110/4760 "[abrt] initial-setup-gui: Gio.py:171:__call__:Error: g-db"
& 1
No such interface 'org.freedesktop.NetworkManager.Settings.Connection' on object at path /org/freedesktop/NetworkMa
nager/Settings/2 (19)
cmdline: /usr/bin/python /usr/libexec/initial-setup/initial-setup-graphical --no-stdout-log
executable: /usr/libexec/initial-setup/initial-setup-graphical
package: initial-setup-gui-0.3.9.36-1.el7.centos
!!!提示缺少个包 initial-setup-gui-0.3.9.36-1.el7.centos
[root@y_zilong ~]# yum install -y initial-setup-gui-0.3.9.36-1.el7.centos
安装一下在重新发送一下即可
四、将邮件服务添加到脚本中
编写磁盘检查脚本,实验是否能成功发送邮件
[root@y_zilong data]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 28G 3.7G 25G 14% /
devtmpfs 1.7G 0 1.7G 0% /dev
tmpfs 1.8G 84K 1.8G 1% /dev/shm
tmpfs 1.8G 9.0M 1.8G 1% /run
tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup
/dev/sda1 297M 152M 146M 51% /boot
tmpfs 351M 16K 351M 1% /run/user/42
tmpfs 351M 0 351M 0% /run/user/0
[root@y_zilong data]# df -h|awk '!/Filesystem/{split($5,arr,"%");if(arr[1]> 1){print arr[1],$NF}}'
14 /
51 /boot
[root@y_zilong data]#
[root@y_zilong data]# cat disk_check.sh
#!/bin/bash
warning=1
while :;do
diskwarning=$(df -h|awk '!/Filesystem/{split($5,arr,"%");if(arr[1]> 1){print arr[1],$NF}}')
echo -e "Disk will be full from $(hostname -I)\n$diskwarning"| mail -s 'disk warning' 12345678@163.com
sleep 10
done
[root@y_zilong data]#