У вас повторяющаяся синтаксическая ошибка;
: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 запускал подпроцесс в оболочке ( в противном случае он будет проходить через буквальную строку content=$(cat)
в качестве значения параметра -d
).
Более подробно, рецепт
:0
| variable=$(cat)
будет запускать оболочку как подпроцесс, и присвойте содержимое сообщения в качестве значения переменной оболочки variable
, но затем немедленно завершите работу, что, конечно, утратит любые эффекты назначения переменных, которые произошли в этом подпроцессе.