Мой вклад является POSIX-совместимой альтернативой AWK Томаса Дики; он делает те же предположения:
printf '%s\n' '1;?2016/01/30 14:52:51: ?' '1,.-g//s///' w q | ed filename
способность ed перемещать файл в обратном направлении быстро справляется с этой задачей.
Выяснилось, что хост не знал канонического имени машины, поэтому предполагал, что вся локальная почта на самом деле удалена. Я исправил это сейчас в соответствии с этим ответом .
exim
по умолчанию не ссылаются на псевдонимы системы. Вы должны создать маршрутизатор, который ищет /etc/aliases
и соответствующим образом пересылает сообщение. Этот роутер должен выглядеть вот так:
sys_alias:
driver = redirect
data = ${lookup{$local_part}lsearch{/etc/aliases}}
user = mailnull
group = mail
file_transport = address_file
pipe_transport = address_pipe
allow_fail
allow_defer
Для этого маршрутизатора требуется файл /etc/aliases
, содержащий строки следующего синтаксиса:
localpart: alias
root: user
other: me@domain.tld
user: john,mary,bob@other.tld
Вы не можете использовать me@domain.tld: me@another.tld
для поиска только локальной части. Если вам нужно использовать весь адрес вместо локальной части, вы должны соответствующим образом изменить условие поиска.
Помните, что маршрутизаторы должны быть перечислены в правильном порядке.