Я редко использую /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 ищет данный ключ каждый раз, когда сообщение обрабатывается, поэтому все ваши изменения вступают в силу только тогда, когда вы сохраняете файл псевдонимов.