Linux 中計劃任務把結果發送到你的郵箱

在生活工做中,咱們會常常寫一些任務計劃,好比按期檢查一下磁盤的使用狀況,按期執行一些腳本、指等等,可是Linux系統中的機制是把結果以郵件的形式發送到用戶的郵箱裏,假如如今你出差了,可是你的計劃任務還在公司的電腦上進行着,這個時候你該怎麼辦呢?接下來我介紹一下怎麼用Linux系統給QQ郵箱、163郵箱等等發送郵件,這樣的話你的計劃任務就會把執行結果發送到你的郵箱裏,讓你隨時隨刻對你的主機瞭如指掌。


本文演示:

  • centos 7
  • qq郵箱

計劃任務的書寫看我前面的博客,超級詳細vim


利用系統的mail(25號端口)服務發送

  1. 編輯/etc/mail.rc,輸入下面的配置文件
    set from=設置用哪一個郵箱發送郵件#收到郵件時顯示的發件人
    set smtp=smtp.qq.com#郵箱的域名
    set smtp-auth-user=你的QQ郵箱帳號#發郵件的用戶名
    set smtp-auth-password=郵箱的POP3/SMTP服務的受權碼
    set smtp-auth=login #SMTP的認證方式,默認是login,也能夠改爲CRAM-MD5或PLAIN方式

    獲取郵箱受權碼的方式:登錄你的郵箱
    Linux 中計劃任務把結果發送到你的郵箱
    而後點擊帳戶
    Linux 中計劃任務把結果發送到你的郵箱
    選擇開啓POP3/SMTP服務
    Linux 中計劃任務把結果發送到你的郵箱
    而後獲取受權碼
    Linux 中計劃任務把結果發送到你的郵箱centos

  2. 發送無正文郵件
    mail -vvv -s 」主題" 郵箱地址
  3. 發送有正文郵件
    mail -s "主題"  xxx@qq.com < 文件(郵件正文.txt)
    cat 郵件正文.txt | mail -s 郵件主題  收件地址
    echo "郵件正文" | mail -s 郵件主題  收件地址
  4. 發送帶附件郵件
    mail -s "主題"  收件地址  -a 附件 < 文件(郵件正文.txt)

    到這裏通常的虛擬機和主機應該都沒問題了,可是當我使用阿里雲、騰訊雲的主機的時候會報錯鏈接超時,通過一番查證和實驗發現阿里雲和騰訊雲的主機把25號端口給封鎖,致使鏈接超時,要想解決這個問題,能夠去阿里雲和騰訊雲的控制檯上申請開啓25號端口,這樣這個問題也就迎刃而解了。可是還有一種安全並且加密的協議在不申請25號端口的狀況下完美的解決這個問題,那就是 ssl協議。安全

利用ssl協議發送

  1. 編輯/etc/mail.rc,輸入下面的配置文件
    set from=設置用哪一個郵箱發送郵件#收到郵件時顯示的發件人
    set smtp="smtps://smtp.qq.com:465"#郵箱的域名及端口號
    set smtp-auth-user=你的QQ郵箱帳號#發郵件的用戶名
    set smtp-auth-password=郵箱的POP3/SMTP服務的受權碼
    set smtp-auth=login #SMTP的認證方式,默認是login,也能夠改爲CRAM-MD5或PLAIN方式
    set nss-config-dir=/etc/pki/nssdb   #存放認證證書的地址
    set ssl-verify=ignore
  2. 郵箱發送格式同上

可能遇到問題

  1. mailx的版本過低
    [root@localhost ~]# rpm -qa mailx #查看本身的mailx版本
    mailx-12.5-19.el7.x86_64
    [root@localhost ~]# yum -y install mailx #安裝最新版的mailx
  2. 域名解析不成功
    [root@cyn(cyn) ~ ]# echo "今晚約嗎?"|mail -vvv -s "真帥" 0011000100@qq.com
    Resolving host /smtp.qq.com . . .Could not resolve host: /smtp.qq.com
    "/root/dead.letter" 11/330
    . . . message not sent.

    解決方法:
    a. 增長dns解析網絡

    [root@cyn(cyn) ~ ]# vim /etc/resolv.conf 
    #在本文件中增長一條記錄,必須寫在第一個,由於這個文件時順序執行,會解析第一個nameserver,第一個解析不了再去解析下一個
    nameserver 114.114.114.114
    nameserver 100.100.2.136
    nameserver 100.100.2.138
  3. 鏈接超時
    [root@cyn(cyn) ~ ]# echo "今晚約嗎?"|mail -vvv -s "真帥" 0011000100@qq.com
    Resolving host smtp.qq.com . . . done.
    Connecting to 14.17.57.241:465 . . . connected Refused.
    . . . message not sent.

    解決方法:基本上都是網絡問題了還有自己防火牆ide

    [root@localhost ~]# iptables -F
    [root@localhost ~]# setenforce 0

網易郵箱也能夠,設置方法同QQ郵箱,下面介紹一下獲取受權碼
登錄網易郵箱,點擊設置,開啓POP3/SMPT服務,點擊保存
Linux 中計劃任務把結果發送到你的郵箱
點擊客戶端受權密碼,再點擊重置密碼
Linux 中計劃任務把結果發送到你的郵箱
獲取受權碼
Linux 中計劃任務把結果發送到你的郵箱阿里雲

可是網易郵箱會把發過去的郵件當成垃圾郵件處理,使用的時候須要注意。加密

相關文章
相關標籤/搜索