Linux使用mailx發送郵件--技術流ken


 

前言

 

最近想要監控系統服務運行情況並實現自動發送郵件報警,zabbix雖然也可以實現這樣的功能,但是這里使用一個非常簡單的辦法就可以實現。需要安裝mailx工具,mailx是一個小型的郵件發送程序。

 

安裝步驟

 

第一步:安裝mailx

[root@ken ~]# yum install mailx -y

 

第二步:編輯配置文件

在mail.rc這個配置文件中,在末行添加如下的內容

[root@ken ~]# vim /etc/mail.rc 
set from="1614833188@qq.com"     #這個和第三行郵箱地址需要保持一致
set smtp="smtp.qq.com"
set smtp-auth-user="1614833188@qq.com"
set smtp-auth-password="xxxxxx"   #郵箱授權碼
set smtp-auth="login"

 

 說明

from:對方收到郵件時顯示的發件人

smtp:指定第三方發郵件的smtp服務器地址

set smtp-auth-user:第三方發郵件的用戶名

set smtp-auth-password:用戶名對應的密碼,有些郵箱填的是授權碼

smtp-auth:SMTP的認證方式,默認是login,也可以改成CRAM-MD5或PLAIN方式

 

授權碼獲取

 

第一步:授權碼獲取

登錄qq郵箱,點擊設置>賬戶

 點擊生成授權碼即可

 

測試

 

這句命令的后面的1614833188@qq.com是收件地址

[root@ken ~]# echo "這是一封測試郵件" | mail -s "測試郵件" 1614833188@qq.com

 

 

以上已經實現了發郵件功能!!!

 

 郵件發送書寫格式

 

1)  無郵件正文

mail -s "主題"  收件地址

實例: mail -s "測試"  1614833188@qq.com

   

2) 有郵件正文

  •  mail -s "主題"  收件地址< 文件(郵件正文.txt)

實例: mail -s "郵件主題"  1614833188@qq.com < /data.txt

  •  echo "郵件正文" | mail -s 郵件主題  收件地址

實例: echo "郵件正文內容" | mail -s "郵件主題"  1614833188@qq.com

  •  cat 郵件正文.txt | mail -s 郵件主題  收件地址 

實例: cat  /data.txt | mail -s "郵件主題"  1614833188@qq.com

   

3)  帶附件

  •  echo "郵件正文" | mail -s "主題"   -a 附件  收件地址

實例: echo "郵件正文"  | mail -s "郵件主題"   -a /etc/passwd  1614833188@qq.com

 

實戰案例

 

需求:

1. 檢測本機web服務

2. 如果web服務宕機發送郵件報警通知管理員

 

第一步:編輯檢測腳本

#!/bin/bash
while true
do
num=`ss -tl | grep -c http`
if [ $num -eq 0 ];then
        echo "web服務宕機,請立即檢查修復!" | mail -s "web服務宕機" 1614833188@qq.com
        break
fi
done

 

第二步:后台運行腳本

[root@ken ~]# nohup bash test.sh &
[1] 6643
[root@ken ~]# jobs
[1]+  Running                 nohup bash test.sh &

 

第三步:模擬web服務宕機

[root@ken ~]# systemctl stop httpd

 

第四步:檢查郵件

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM