首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从crontab输出发送电子邮件时显示电子邮件内容中的标题

从crontab输出发送电子邮件时显示电子邮件内容中的标题
EN

Unix & Linux用户
提问于 2019-11-13 03:52:47
回答 2查看 324关注 0票数 1

当我使用mutt (cron/cronie的脚本输出)发送电子邮件时,我在电子邮件的开头看到以下几行:

代码语言:javascript
复制
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..

编辑: mutt从该行的cronie.service文件中被调用:

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

代码语言:javascript
复制
$ cat ~/.muttrc 
set sendmail="/usr/bin/msmtp"
set use_from=yes
set realname="Ikwyl6"
set from=ikwyl6@myemail.com
set envelope_from=yes

有人知道我为什么要在电子邮件的内容中得到这些标题吗?

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2019-11-20 04:27:32

在您的cronie.service文件中放置:

代码语言:javascript
复制
Environment="EMAIL=youremail@email.com"

其中,EMAIL是您希望您的cron作业(仅从cron脚本输出)电子邮件发送的电子邮件。

cronie.service中包含:ExecStart=/usr/bin/crond -n -m 'msmtp -t'的行更改为:

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

其中,-H -将管道输入的开头作为文件的头和消息的正文。

在/etc/cron.d/ file或crontab文件中添加:

MAILFROM=youremail@domain.tld

重启cronie sudo systemctl restart cronie

票数 0
EN

Unix & Linux用户

发布于 2020-01-10 09:02:05

Awswer回答您的问题:

cron服务将脚本的环境添加为自定义电子邮件头。这是正常的行为。

如何隐藏它?

看看你的狗配置。如果没有忽略行或unignore行,则可以添加:

代码语言:javascript
复制
ignore          *
unignore        From To Cc Bcc Date Subject

请参阅在neomuttrc中选择标头(5)

忽略模式图案... unignore {*颇具模式.}忽略命令允许您指定通常不希望在分页器中看到的标头字段。您不需要指定完整的标题字段名。例如,“忽略内容”将忽略以模式"content-“开头的所有标头字段,”忽略*“将忽略所有标头。若要从列表中删除先前添加的令牌,请使用unignore命令。例如,"unignore *“将从忽略列表中删除所有标记。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/551871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档