Назад | Перейти на главную страницу

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 был связан с этим, но когда я помещаю кавычки, он говорит, что идет, но это не по моему сценарию.

Мне не хватало только одной строчки в моем /etc/postfix/main.cf файл.

default_privs = www-data

Что странно, так как я пробовал запустить файл как 777, так что теоретически это должно было работать. Хорошо, теперь это работает. Итак, вкратце установите привилегии владельца файла, поскольку Postfix по умолчанию использует nobody.