У меня есть сервер Debian, на котором работает postfix. В файле /etc/postfix/main.cf
вот такая строчка:
mailbox_command_maps = pcre:/etc/postfix/mailbox-pcre
Файл /etc/postfix/mailbox-pcre
содержит такие строки:
/^action/ /usr/sbin/takeaction -q
/^filter/ /usr/bin/filter-special
/^archway/ /usr/bin/archway2
У меня возникла новая ситуация, когда я хочу, чтобы все сообщения электронной почты с адресом To :, начинающимся с "tester", запускались через сценарий Perl. Я добавил новый запись в файл / etc / postfix / mailbox-pcre` вот так:
/^action/ /usr/sbin/takeaction -q
/^filter/ /usr/bin/filter-special
/^archway/ /usr/bin/archway2
/^tester/ /usr/bin/tester
Я добавил эту строку и перезапустил постфикс. Когда я отправляю электронное письмо на tester
адрес электронной почты Я получаю сообщение об ошибке «неизвестный пользователь». Так что мне нужно сделать что-то еще, чтобы постфикс распознал tester
адрес электронной почты.
Что мне еще нужно делать?
Пользователь tester
должен быть определен как локальный пользователь (либо указав как системный пользователь, либо определив в local_recipient_maps).
Другое решение - определить вашу команду в alias_maps. Например
#main.cf
alias_maps = hash:/etc/aliases, pcre:/etc/aliases.pcre
#pcre:/etc/aliases.pcre
/^tester/ "|/usr/bin/tester"
/^action/ "|/usr/sbin/takeaction -q"
/^filter/ "|/usr/bin/filter-special"
/^archway/ "|/usr/bin/archway2"
Этот ответ вдохновлен эта тема