Назад | Перейти на главную страницу

Как автоматически создать файл .dovecot.sieve в новых maildirs для фильтрации спама?

Я следил за этим http://sealedabstract.com/code/nsa-proof-your-e-mail-in-2-hours/ руководство, адаптированное для пользователей vimbadmin3, по настройке моего почтового сервера. Большинство моих корректировок исходят от https://github.com/opensolutions/ViMbAdmin/wiki/Mail-System-Install-on-Ubuntu

В первом руководстве используется плагин dovecot sieve (я думаю) для маршрутизации данных через dspam. sieve, по-видимому, нужен файл .dovecot.sieve в пользовательском maildir.

Как я могу убедиться, что файл создается, когда dovecot инициирует почтовые сообщения нового пользователя?

Есть ли способ создать файл в одном месте и указать dovecot / sieve для использования его во всех учетных записях электронной почты?

Файл должен содержать:

require ["regex", "fileinto", "imap4flags"];
# Catch mail tagged as Spam, except Spam retrained and delivered to the mailbox
if allof (header :regex "X-DSPAM-Result" "^(Spam|Virus|Bl[ao]cklisted)$",
      not header :contains "X-DSPAM-Reclassified" "Innocent") {
  # Mark as read
  setflag "\\Seen";
  # Move into the Junk folder
  fileinto "Spam";
  # Stop processing here
  stop;
}

Я запускаю Ubuntu 14.04, использую dovecot и postfix. Я создаю пользователей в vimbadmin3, поэтому их каталог не создается, пока не будет получено их первое электронное письмо.

Спасибо!

Нет необходимости создавать это специальное поле в каждом Maildir, используйте переменную конфигурации sieve_before. Процитировать документы:

sieve_before =

Путь к файлу сценария или к каталогу, содержащему файлы сценария, которые необходимо выполнить перед сценарием пользователя. Если путь указывает на каталог, выполняются все содержащиеся в нем сценарии Sieve (с надлежащим расширением .sieve). Порядок выполнения определяется именами файлов с использованием обычного 8-битного посимвольного сравнения.

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