Mail-Command

SSMTP - 可以通過 CLI 發送電子郵件 - 但程序無法發送通知

  • July 21, 2016

今天我設置了一個新的 XYMon 監視器虛擬機。舊的使用 PostFix,但我設置了 SSMTP。

我可以像這樣從 CLI 給自己發送電子郵件。

echo "Hello, World" | mail -s "My email check" my@email.com

但我似乎無法讓 XYMon 通過 E-Mail 通知我

我已經做了一些測試,我懷疑這與 SSMTP 相關,更多的是 XYMon,因為它的設置相當簡單。

/usr/lib/xymon/server/bin/xymond_alert --test testsite.com http

**這一行的結果:(**其中有很多,但這是重要的)

Mail alert with command '/var/mail/root "Xymon [12345] testsite.com:http CRITICAL (RED)" accountusername@businessdomain.com'

這有一些問題,首先我找不到 /var/mail/root ,另外,accountusername@businessdomain.com 是我進行身份驗證和配置 SSMTP 的使用者名,但不是我實際使用的電子郵件希望將此通知發送到。

我的 SSMTP 配置:

mailhub=smtp.comcast.net:587
UseSTARTTLS=YES
UseTLS=YES
FromLineOverride=YES
hostname=businessdomain.com
AuthUser=accountusername@businessdomain.com
AuthPass=PASSWORD

我在 XYMon 的提醒:

HOST=testsite.com
MAIL my@email.com REPEAT=1h COLOR=red DURATION>15 RECOVERED

更新

# For the xymond_alert module
MAILC="mail"                            # Command used to send an e-mail with no subject
MAIL="$MAILC -s"                                # Command used to send an e-mail with a subject

root@monitor:/etc/xymon# echo $MAIL
/var/mail/root

您遇到的問題是 XYmon 如何確定要使用的郵件程序。它可以使用MAIL設置,也可以使用$MAIL變數。

現在的預設$MAIL設置root/var/mail/root,所以它會嘗試執行它,就好像它是一個命令一樣。

您可以通過取消設置環境變數來解決此問題

unset MAIL

這將確保 XYmon 只使用其配置並且不會被環境覆蓋。

引用自:https://unix.stackexchange.com/questions/297209