Cron

從 crontab 輸出發送電子郵件時,mutt 在電子郵件內容中顯示標題

  • January 13, 2020

當我使用 mutt(來自 cron/cronie 的腳本的輸出)發送電子郵件時,我在電子郵件的開頭收到以下幾行:

To: myemail@myemail.com
Subject: Cron <root@alarm> /home/alarm/bin/script-name.sh
MIME-Version: 1.0
Content-Type: text/plain; charset=ANSI_X3.4-1968
Auto-Submitted: auto-generated
Precedence: bulk
X-Cron-Env: <LANG=C>
X-Cron-Env: <SHELL=/bin/bash>
X-Cron-Env: <PATH=/sbin:/bin:/usr/sbin:/usr/bin>
X-Cron-Env: <MAILTO=myemail@myemail.com>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>

remainder of email from output of script..

編輯cronie.service:從該行的文件中呼叫 mutt :

ExecStart=/usr/bin/crond -n -m mutt

$ cat ~/.muttrc 
set sendmail="/usr/bin/msmtp"
set use_from=yes
set realname="Ikwyl6"
set from=ikwyl6@myemail.com
set envelope_from=yes

有誰知道我為什麼在電子郵件的內容中得到這些標題?

在你的cronie.service文件中:

Environment="EMAIL=youremail@email.com"

EMAIL您希望通過電子郵件發送您的 cron 作業(僅來自 cron 腳本的輸出)的電子郵件在哪裡。

將其中的行更改為cronie.serviceExecStart=/usr/bin/crond -n -m 'msmtp -t'

ExecStart=/usr/bin/crond -n -m 'mutt -H - ${EMAIL}'

where-H -將 mutt 的管道輸入的開頭作為文件的標題和消息的正文。

在您的 /etc/cron.d/ 文件或 crontab 文件中,添加:

MAILFROM=youremail@domain.tld

重啟親信sudo systemctl restart cronie

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