首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Procmail内容作为POST变量

Procmail内容作为POST变量
EN

Stack Overflow用户
提问于 2020-01-15 08:05:36
回答 1查看 59关注 0票数 0

Procmail应将包含内容的电子邮件发送到我的api。无论我怎么尝试,我都能得到主题等,但我不能到达内容。$CONTENT变量用主题填充。

代码语言:javascript
运行
复制
:0
{
 :0 w
  | CONTENT= cat

 :0
 | URL=$(curl -d  "content=$CONTENT" -d "title=Logged Activity" https://myapi.de/fetch.php);

}
EN

Stack Overflow用户

发布于 2020-01-15 17:56:32

你有一个重复的语法错误;

代码语言:javascript
运行
复制
:0 w
| CONTENT= cat

表示在cat命令执行期间为CONTENT分配一个空字符串。我猜您的意图是将消息的内容赋值给变量。其语法为

代码语言:javascript
运行
复制
CONTENT=| cat    

(不是一个方法,所以这里没有:0 w是有用的、必要的或正确的);但是如果您不将这个变量用于其他任何事情,那么就没有必要单独分配它。

代码语言:javascript
运行
复制
:0
| URL=$(curl -d  "content=$(cat)" -d "title=Logged Activity" https://myapi.de/fetch.php);

如上所述,这也可能不是你真正想要的。如果您希望在.procmailrc中为变量赋值,请尝试

代码语言:javascript
运行
复制
URL=|curl -d "content=$(cat)" -d "title=Logged Activity" https://myapi.de/fetch.php;

必须使用尾随分号(或SHELLMETAS中的其他字符)强制Procmail在shell中运行子进程(否则它将通过文字字符串content=$(cat)作为选项-d的值)。

更详细地说,食谱

代码语言:javascript
运行
复制
:0
| variable=$(cat)

将shell作为一个子进程运行,并将消息的内容指定为shell变量variable的值,但随后立即退出,这当然会失去该子进程中发生的变量赋值的任何效果。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59743507

复制
相关文章

相似问题

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