Postfix не будет передавать в файл PHP через файл псевдонимов
Я пытаюсь передать из постфикса в команду. Согласно журналам Postfix это работало, но когда я проверял команду, это не так. Это свежая постфиксная установка. Это мой файл псевдонимов:
# See man 5 aliases for format
postmaster: root
support: "| /usr/bin/php -q /var/www/pipe/pipe.php"
я бегу sendmail support@mydomain.com
затем введите его, а затем на отдельной строке типа .
и это идет. Я проверяю журнал постфикса /var/log/mail.log
и вот что говорится:
Nov 2 15:32:33 server3 postfix/local[13284]: 42C429E0B5: to=<support@mydomain.com>, relay=local, delay=156, delays=156/0.01/0/0.05, dsn=2.0.0, status=sent (delivered to command: /usr/bin/php -q /var/www/pipe/pipe.php)
В соответствии с этим это сработало, но это не так. Если я бегу echo 'text' | /usr/bin/php -q /var/www/pipe/pipe.php
это работает просто отлично.
Есть идеи, что я сделал не так?
Я знаю, что трубопровод работает, я изначально проверил его, выполнив эту команду выше без кавычек, так что просто support: | /usr/bin/php -q /var/www/pipe/pipe.php
Что он там сделал, так это добавил мой заголовок электронной почты и все в файл pipe.php. Так что я знаю, что postfix об этом говорил, но когда я вставляю в кавычки, он говорит, что он идет, но это не соответствует моему сценарию.
1 ответ
Мне не хватало только одной строки в моем /etc/postfix/main.cf
файл.
default_privs = www-data
Что странно, так как я пытался запустить файл 777, так что теоретически это должно было сработать. Ну что ж, теперь это работает так. Таким образом, вкратце установите privs владельца файла, так как Postfix по умолчанию использует user nobody
,