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,

Другие вопросы по тегам