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

Как я могу расширить псевдоним до списка получателей, возвращаемого командой?

Я редко использую /etc/aliases вход

vmailusers: :include:/usr/local/etc/vmailusers

В /usr/local/etc/vmailusers файл создается при выполнении cronjob

ls /home/vmail | grep -v lists > /usr/locale/etc/vmailusers
chmod 0640 /usr/local/etc/vmailusers
chmod mailnull:mail /usr/local/etc/vmailusers

Есть ли способ избежать запуска задания cron, а скорее выполнить ls командование в тот момент vmailusers псевдоним используется?

С exim вам не нужно /etc/aliases больше. Все, что вам нужно сделать - это определить маршрутизатор перенаправления следующим образом:

vmail_aliases:
        driver          = redirect
        data            = ${lookup{$local_part}lsearch{/usr/local/etc/vmailusers}}
        file_transport  = address_file
        pipe_transport  = address_pipe

Обратитесь к главе 9.3 спецификации exim, описывающей поиск в файлах с помощью lsearch. По крайней мере, файлы, запрошенные lsearch, имеют тот же синтаксис, что и /etc/aliases так что вы не возитесь с преобразованием ваших текущих пользователей / usr / local / etc / vmailusers в какой-то причудливый формат. Не забудьте разместить этот роутер перед любой принимающий маршрутизатор в вашей конфигурации.

Exim ищет данный ключ каждый раз, когда сообщение обрабатывается, поэтому все ваши изменения вступают в силу только тогда, когда вы сохраняете файл псевдонимов.