最近需要在伺服器上運行一些時間很長的命令,想讓伺服器自動通知我什麼時候命令完成,通過命令結束後發送郵件給我來提醒。 安裝 msmtp 和 mail # RedHat 系 sudo dnf install msmtp mailx # Debian 系 sudo apt install msmtp ma ...
最近需要在伺服器上運行一些時間很長的命令,想讓伺服器自動通知我什麼時候命令完成,通過命令結束後發送郵件給我來提醒。
安裝 msmtp 和 mail
# RedHat 系
sudo dnf install msmtp mailx
# Debian 系
sudo apt install msmtp mailutils
配置 msmtp
創建或編輯.msmtprc
,內容示例如:
# Set default values for all following accounts.
defaults
auth on
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile ~/.msmtp.log
# Gmail example
account gmail
host smtp.gmail.com
port 587
from [email protected]
user [email protected]
password your_password
# Set a default account
account default : gmail
其中host
和port
根據不同的郵箱而異,from
和user
為發送郵件使用的郵箱賬號,password
需要在郵箱設置中開啟SMTP
時創建的專用密碼。
設置許可權
設置.msmtprc
文件的許可權,使得只有所有者可以讀取或寫入:
chmod 600 ~/.msmtprc
測試郵件發送
echo "This is the body of the email" | mail -s "This is the subject line" [email protected]
echo
的內容是郵件內容,-s
後面的字元串為郵箱主題,最後一個參數是收件郵箱,如果用戶密碼等配置無誤的話,登錄收件郵箱應該可以看到郵件,找不到的話看看垃圾箱,這類郵件可能會自動放入垃圾箱。