linux如何写邮件到QQ邮箱
作为一名运维人,肯定不会,也不想7*24h待在电脑旁,观察服务器的情况。 要做一名高级运维,必会脚本。
【注:】模拟场景:当剩余可用内存不足时,linux服务器会自动发送邮件到我的qq邮箱。配置如下
一、邮箱设置
登录QQ邮箱
1.设置
2.账户
3.开启pop3服务
4.按照图片所示操作
二、linux服务器端
1.编写监控内存的脚本
#!/bin/bash
mem=`free -m|awk ‘NR==2{print $NF}’`
CHARS=“current memory is $mem”
if [ “$mem” -lt “1000” ]
then
echo “当前可用内存剩余”$mem|tee /tmp/messages.txt
mail -s “`date +%F-%T` $CHARS” 7**995@qq.com < /tmp/messages.txt
echo “内存不足!,请立即维护服务器!”
fi
以上代码,当可用内存低于1000M时,就会给我的QQ邮箱发送邮件。
2.编辑mail的配置文件
vim /etc/mail.rc
3.添加如下内容
set from=7**995@qq.com # 对方收到邮件时显示的发件人
set smtp=smtps://smtp.qq.com:465 # 第三方发邮件的smtp服务器地址
set smtp-auth-user=7**995@qq.com # 第三方发邮件的用户名
set smtp-auth-password=************ # 授权码
set ssl-verify=ignore
set nss-config-dir=/root/.certs
set smtp-auth=login # SMTP的认证方式
4.运行以下命令生成证书
mkdir -p /root/.certs/
echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne ‘/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p’ > ~/.certs/qq.crt
certutil -A -n “GeoTrust SSL CA” -t “C,” -d ~/.certs -i ~/.certs/qq.crt
certutil -A -n “GeoTrust Global CA” -t “C,” -d ~/.certs -i ~/.certs/qq.crt
certutil -L -d /root/.certs
5.测试邮件发送
6.如上图所示,发送失败。运行一下命令即可
cd /root/.certs/
ll
certutil -A -n “GeoTrust SSL CA - G3” -t “Pu,Pu,Pu” -d ./ -i qq.crt
三、加餐
1.执行下我们编写的脚本
2.查看QQ邮箱,已经收到邮件。
3.把脚本加入到计划任务,咱们就能喝着茶,玩游戏了(joke)
crontab -e
#*/2 * * * * /bin/bash /shell/free.sh &>/dev/null (每两分钟执行一次)
后面咱们就不用无时无刻不关注这服务器了,一旦有情况,我们的QQ邮箱就会接受到信息提示~
方便~~