Мне нужно заархивировать важную почту, входящую для определенного адреса, на случай, если она будет случайно удалена с почтового сервера и т. Д.
Либо сохранить, либо использовать канал для архивации на резервной машине (я могу rsync
резервное копирование автоматически позже и т. д.).
Однако у меня проблемы с получением system_filter
работает. Пока я настроил это так:
/etc/exim4/exim4.conf
:
system_filter = /etc/exim4/system_filter
system_filter_user = Debian-exim
system_filter_group = Debian-exim
system_filter_directory_transport = local_copy_to_directory
# transport section
local_copy_to_directory:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add
group = Debian-exim
user = Debian-exim
mode = 0660
maildir_format = true
create_directory = true
В /etc/exim4/system_filter
:
# Exim filter
if $local_part is "example"
then
unseen save /tmp/example_dir
endif
В журналы ничего не записывается, ничего не сохраняется (нормальная доставка, естественно).
Когда я меняю $local_part
в файле системного фильтра, чтобы root
и протестируем это так:
% exim -bF /etc/exim4/system_filter -d-all+filter -f sender@example.com <tfpmet
Exim version 4.89 uid=0 gid=0 pid=1261 D=200
...
Return-path taken from "Return-path:" header line
Return-path = ex2@ex2.com
Sender = sender@example.com
Recipient = root@localdomain.com
Testing Exim filter file "/etc/exim4/system_filter"
Condition is true: $local_part is root
Unseen save message to: /tmp/example_dir
Filtering did not set up a significant delivery.
Normal delivery will occur.
>>>>>>>>>>>>>>>> Exim pid=1261 terminating with rc=0 >>>>>>>>>>>>>>>>
Здесь четко сказано:
Condition is true: $local_part is root
Unseen save message to: /tmp/example_dir
Однако снова ничего не спасается.
ОС: Debian 9.11 amd64.
Я бы предпочел добиться такого результата с помощью системного фильтра, но подойдет любое хорошее решение.
Возможно, это не самое элегантное решение, но «procmail» может это сделать. В файле .procmail для этого пользователя вы создаете копию:
:0 c
/var/mail/backup_file