Procmail应该将包含内容的电子邮件发送到我的api。无论我尝试什么,我都能理解主题等,但是却无法理解内容。 $ CONTENT变量充满了主题。
:0
{
:0 w
| CONTENT= cat
:0
| URL=$(curl -d "content=$CONTENT" -d "title=Logged Activity" https://myapi.de/fetch.php);
}
您反复出现语法错误;
:0 w
| CONTENT= cat
表示在CONTENT
命令期间为cat
分配一个空字符串。我想您的意图是将消息的内容分配给变量。的语法是
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)
[将外壳程序作为子进程运行,并将消息的内容分配为外壳程序变量variable
的值,但随后立即退出,这当然会丢失该子进程中发生的变量分配的任何影响。