如何在 crontab 中使用 postfix 保留电子邮件的主题?

如何在 crontab 中使用 postfix 保留电子邮件的主题?

使用 MAILTO 我可以在哪里提供电子邮件的主题而不使用,因为如果我这样将发件人发送给一个用户,那么如果我想添加多个用户邮件,那么对于每个脚本我都必须添加邮件 ID,这与 MAILTO 命令相比并不好。echo Test | mail -s Test [email protected]

现在我有向用户发送邮件并将 STDOUT 和 STDERR 发送到 logs.txt 的脚本。

MAILTO="[email protected],[email protected],[email protected]"

25 07 * * * /usr/local/bin/curator --dry-run --config /home/itadmin/.curator/curator.yml /home/itadmin/.curator/snapshot.yml 2>&1 | /usr/bin/tee -a /home/itadmin/.curator/logs.txt

我想要的是,在 MAILTO 命令中是否可以像这样限制该命令中列出的所有用户MAILTO="[email protected],[email protected],[email protected]?subject=Mail Tested"

谢谢

答案1

MAILTO定时任务不是一个命令,而是一个环境变量

例如,在 Paul Vixie 的 Cron 中,如果mailto变量为空,则设置为NULL,如果不存在,则设置为用户名。然后,From:To:Subject:硬编码到程序中do_command.c

358     /* if we are supposed to be mailing, MAILTO will
359      * be non-NULL.  only in this case should we set
360      * up the mail command and subjects and stuff...
361      */
362
363     if (mailto) {

375         fprintf(mail, "From: root (Cron Daemon)\n");
376         fprintf(mail, "To: %s\n", mailto);
377         fprintf(mail, "Subject: Cron <%s@%s> %s\n",
378             usernm, first_word(hostname, "."),
379             e->cmd);

因此,您不能使用MAILTO它来更改主题。相反,您可以将输出通过管道传输到发送邮件的外部命令或使用中间文件并发送其内容。

相关内容