Как записать данные из наборов правил Courier .mailfilter?

Справочная информация

Я использую Ubuntu 16.04 LTS на виртуальной машине. Это почтовый сервер для небольшой медицинской клиники. Мы пытаемся переместить фильтрацию почты со стороны клиента на сторону сервера, и у меня возникают проблемы с файлами правил $ HOME / .mailfilter.

Я читал различные копии man-страницы в разных местах, но информации о включении регистрации не так много. Пример данных, с которыми я работаю, можно найти здесь: Страница управления Maildrop Filter

Текущая настройка

На данный момент моя структура каталогов выглядит следующим образом: enter image description here

Три файла, которые я создал, чтобы содержать правила фильтрации, содержат очень простые инструкции:

logfile "/var/log/maildropfilter.log"
log "Executing code in {file_path}"

Естественно, я изменяю "{file_path } "быть тем файлом, в котором я сейчас нахожусь. Я надеюсь, что, если файл правила будет выполнен, в файле журнала будет инструкция" Выполнение кода в {file_path} ", и я буду знать, какой из трех файлов начните вводить управляющую логику.

Ожидание

Согласно документации или, точнее, моей интерпретации, после получения электронного письма на мою учетную запись электронной почты для пользователя jaredclemence, я должен увидеть следующее в моем файле журнала:

Executing code in /etc/courier/maildroprc
Executing code in /home/jaredclemence/.mailfilter

Я не должен видеть никаких ссылок на третий файл в Maildir, потому что это не $HOME/.mailfilter, на который указывает документация. Я создал этот файл только на тот случай, если $ HOME ссылается на корень Maildir, а не на корень домашней папки учетной записи пользователя.

Текущий результат

Проблема в том, что, когда я отправляю электронное письмо пользователю jaredclemence из-за пределов сети, электронное письмо получено, но файл журнала пуст.

Что я делаю не так?

  1. Есть ли что-то особенное, что я должен сделать, чтобы зарегистрировать свои правила фильтрации, или файл находится в правильном месте, все что есть? Требуется?

  2. Если наличие файла в правильном месте - это все, что требуется, то что не так с кодом, который я написал, который устанавливает файл журнала и выводит сообщение в войти с помощью команды log?

Любая помощь приветствуется.

Обновление 2018-01-04 10:17

Я прочитал man-файл maildrop и узнал больше о различных режимах, в которых он будет работать, и определил, что один из трех режимов не использует Правила .mailfilter.

Отмечая, что существует ручной режим, я выполнил команду maildrop в ручном режиме, чтобы посмотреть, был ли файл журнала активирован и использован.

После запуска команды maildrop вручную я проверил следующий вывод:

Executing commands from /home/jaredclemence/.mailfilter
Date: Thu Jan  4 09:37:05 2018
From: Synegi Inc <klally@synegi.com>
Subj: Wishing You a Happy New Year from Synegi!
File: /var/mail/jaredclemence                                          (29594)

Это интересно, потому что глобальный файл правил никогда не активируется. Это также интересно, поскольку оно доставляет почту в mbox по адресу /var/mail/jaredclemence, который не является Maildir.

1136 Это предполагает одну из двух вещей. Либо программа maildrop не используется в качестве локального агента доставки, либо файл конфигурации изменяет место доставки, когда программа maildrop запускается во «встроенном режиме», который является единственным режимом из трех, который не выполняет .mailfilter подать инструкцию.

Отсюда я начал читать man-страницы для trace (8), postfix (1) и local (8), чтобы посмотреть, смогу ли я отследить, какая программа используется агентом доставки почты.

0
задан 4 January 2018 в 21:28

1 ответ

После долгих исследований и поисков я обнаружил, что моя система не использует maildrop для доставки.

Если у вас возник тот же вопрос, сначала определите, какой агент доставки почты использует ваша система.

Начните с вашего SMTP-сервера. Мой постфикс.

Postfix использует свой собственный локальный агент доставки в процессе, называемом local (8). В файле /etc/postfix/main.cf найдите множество ссылок на любой из локальных (8) параметров передачи обслуживания. Вероятно, двумя наиболее заметными будут mailbox_transport или virtual_transport (разница зависит от того, имеют ли люди, получающие почту, учетные записи с домашними каталогами или виртуальная учетная запись поддерживается).

Если эти параметры не установлены, то postfix, вероятно, обрабатывает собственную локальную доставку, и, насколько я могу судить, postfix не выполняет перенаправление на основе проверки и доставку в определенные почтовые ящики, только с одного адреса электронной почты на другой на основе серия адресов переадресации или псевдонимов.

Итак, если вы пытаетесь реализовать расширенную фильтрацию с помощью Courier или Dovecot-LDA или Dovecot-LMTP, вам нужно будет указать Postfix с помощью настроек mailbox_transfer или virtual_transfer, какую программу вызывать.

0
ответ дан 4 January 2018 в 21:28

Другие вопросы по тегам:

Похожие вопросы: