我正在使用Curl发送简单的电子邮件警报:
curl smtp://mail.example.com --mail-from me@example.com --mail-rcpt \
to@example.com --upload-file email.txt
电子邮件. txt内容:
From: John <me@example.com>
To: Joe <to@example.com>
Subject: Example email
Date: Wed, 26 Oct 2022 08:45:16
Welcome to this example email.
是否可以在email.txt
中包含变量(例如,将日期设置为动态date
或包含bash用户who
)?
2条答案
按热度按时间q43xntqr1#
有一个GNU gettext实用程序叫做
envsubst
,它用变量的值替换标准输入中的变量。例如:请注意,
echo '$DATE'
打印的是$DATE
,因为变量没有被shell展开,原因是使用了单引号。要在示例中使用该值,可以在环境中设置所需的值:
然后更新电子邮件以使用变量:
然后在命令中使用
envsubst
和进程替换:其中
envsubst < email.txt
的输出为除了进程替换,您还可以使用管道和特殊的
-
文件从标准输入中读取:kqlmhetl2#
也许它会帮助你(见man envsubst):