CentOS下發送郵件
阿新 • • 發佈:2020-07-31
重新把吃灰的樹莓派3B+拿出來折騰玩,想用作移動的server,公司的有線網是dhcp的,在公司也無法時時刻刻有顯示器。
於是打算讓樹莓派開機獲取IP後自動傳送郵件告知IP。
環境:系統為CentOS8,軟體為mailx和 sendmail
1、首先是註冊163郵箱,然後開通服務.
此時會有一個授權碼,這個是第三方客戶端使用163郵箱時的密碼。
要記住這個授權碼。
2、安裝mailx和sendmail
yum -y install sendmail mailx
3、郵件使用ssl,要配置證書
mkdir -p /root/.certs/ echo -n | openssl s_client -connect smtp.163.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/163.crt certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt certutil -L -d /root/.certs cd /root/.certs/ certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i 163.crt
4、配置mailx配置檔案,加入配置
vi /eta/mail.rc set from=xxx@163.com #設定發件人,這個可以隨意填寫,建議和郵箱一致 set smtp=smtps://smtp.163.com:465 set smtp-auth-user=xxx@163.com #設定郵箱 set smtp-auth-password=xxx #設定授權碼 set smtp-auth=login set nss-config-dir=/root/.certs/ set ssl-verify=ignore
返回如下提示即可:
Notice: Trust flag u is set automatically if the private key is present.5、啟動mailx服務,測試功能
systemctl start sendmail echo 內容 | mailx -s '標題' 接收人郵箱mailx -v 選項可以檢視執行過程,對排錯很有用。 6、編寫指令碼,開機自動傳送 這裡由於只需要告知ip所以只寫了一個簡單的shell指令碼 在路徑/etc/profile.d/目錄下編寫 echoIP.sh
hostname -i|awk -F ' ' '{print $2}'|mailx -v -s 'Respberry IP address:' [email protected]
到此,配置完成。
參考文獻: