博客地址:陳帥同學
一般Linux發送報警郵件通過本地郵箱或外部郵箱服務器,這裏用最簡單的方法實現linux 使用外部郵箱即可實現發送郵件功能,你只需簡單註冊個國內的郵件服務商郵箱,如163,也可以使用公司郵箱,需要安裝mailx工具,mailx是一個小型的郵件發送程序。
原理圖:
具體步驟:
- 準備環境
- 編輯配置文件
- 測試用例說明
- 測試demo
demo:
這裏我使用 mail 命令,調用 stmp.163.com 的服務 發送郵件
- 測試環境
- rpm -qa mailx 查看有沒有裝 mailx服務
- 沒有安裝的話 yum install mailx -y
- 編輯配置文件 /etc/mail.rc
- 在配置文件 /etc/mail.rc 只有 追加 如下配置
- set [email protected]
- set smtp=smtp.163.com
- set [email protected]
- set smtp-auth-password=xxx (這個填寫客戶端授權碼)
- set smtp-auth=login
- 配置說明
- from:對方收到郵件時顯示的發件人
- smtp:指定第三方發郵件的smtp服務器地址
- set smtp-auth-user:第三方發郵件的用戶名
- set smtp-auth-password:客戶端需要授權的填寫授權碼(163 需要客戶端授權碼) || 不需要授權的填寫密碼
- smtp-auth:SMTP的認證方式,默認是login,也可以改成CRAM-MD5或PLAIN方式
- 在配置文件 /etc/mail.rc 只有 追加 如下配置
- 測試用例
- mail -h 先查看幫助 常用選項如下
- [root@localhost ~]# mail -h
mail: option requires an argument -- h
Usage: mail -eiIUdEFntBDNHRV~ -T FILE -u USER -h hops -r address -s SUBJECT -a FILE -q FILE -f FILE -A ACCOUNT -b USERS -c USERS -S OPTION users
c. -s 郵件的主題 ; -a 郵件的附件
- 有郵件有正文
- mail -s "主題" 收件地址< 文件(郵件正文.txt)
% mail -s "郵件主題" [email protected] < /data/findyou.txt
- echo "郵件正文" | mail -s 郵件主題 收件地址
% echo "郵件正文內容" | mail -s "郵件主題" [email protected]
- cat 郵件正文.txt | mail -s 郵件主題 收件地址
% cat /data/findyou.txt | mail -s "郵件主題" [email protected]
2. 帶附件
mail -s "主題" 收件地址 -a 附件 < 文件(郵件正文.txt)
mail -s "郵件主題" [email protected] -a /data/findyou.tar.gz < /data/findyou.txt
效果截圖: