1. 程式人生 > 實用技巧 >CentOS下發送郵件

CentOS下發送郵件

重新把吃灰的樹莓派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]

到此,配置完成。

參考文獻:

作者daysomeonCentos7配置163郵件服務併發送郵件