Procmail应将包含内容的电子邮件发送到我的api。无论我怎么尝试,我都能得到主题等,但我不能到达内容。$CONTENT变量用主题填充。
:0
{
:0 w
| CONTENT= cat
:0
| URL=$(curl -d "content=$CONTENT" -d "title=Logged Activity" https://myapi.de/fetch.php);
}
发布于 2020-01-15 17:56:32
你有一个重复的语法错误;
:0 w
| CONTENT= cat
表示在cat
命令执行期间为CONTENT
分配一个空字符串。我猜您的意图是将消息的内容赋值给变量。其语法为
CONTENT=| cat
(不是一个方法,所以这里没有:0 w
是有用的、必要的或正确的);但是如果您不将这个变量用于其他任何事情,那么就没有必要单独分配它。
:0
| URL=$(curl -d "content=$(cat)" -d "title=Logged Activity" https://myapi.de/fetch.php);
如上所述,这也可能不是你真正想要的。如果您希望在.procmailrc
中为变量赋值,请尝试
URL=|curl -d "content=$(cat)" -d "title=Logged Activity" https://myapi.de/fetch.php;
必须使用尾随分号(或SHELLMETAS
中的其他字符)强制Procmail在shell中运行子进程(否则它将通过文字字符串content=$(cat)
作为选项-d
的值)。
更详细地说,食谱
:0
| variable=$(cat)
将shell作为一个子进程运行,并将消息的内容指定为shell变量variable
的值,但随后立即退出,这当然会失去该子进程中发生的变量赋值的任何效果。
https://stackoverflow.com/questions/59743507
复制相似问题