我有一个很少使用的/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
答案1
使用 exim 后你就不再需要了/etc/aliases
。你所要做的就是定义重定向路由器,如下所示:
vmail_aliases:
driver = redirect
data = ${lookup{$local_part}lsearch{/usr/local/etc/vmailusers}}
file_transport = address_file
pipe_transport = address_pipe
请参阅 exim spec 第 9.3 章,其中描述了 lsearch 在文件中的查找。至少,lsearch 的文件具有与相同的语法,因此/etc/aliases
您不必将当前的 /usr/local/etc/vmailusers 转换为某种奇怪的格式。不要忘记放置该路由器前您配置中的任何接受路由器。
每次处理消息时,Exim 都会查找给定的键,因此当您保存别名文件时,所有更改都会变为实际。