Фильтрация исходящих почтовых сообщений с помощью sieve |
[исправить] |
Предпочитаю хранить почтовые дискуссии в одном месте, а не держать отправленные
письма отдельно в папке Sent, как это по умолчанию делают IMAP-клиенты. Поэтому
по добавлению новой почты в папку Sent я вызываю sieve-скрипт для её обработки.
Конфигурация
почтовый сервер dovecot, dovecot-imapd, dovecot-sieve
почта хранится в домашнем каталоге пользователя в формате maildir
для слежения за состоянием файловой системы используется incron
Настройка
Создаём скрипт, фильтрующий отправленные сообщения. Например, такой (расширение
imap4flags нужно для сохранения флага \\seen у сообщения):
require ["imap4flags", "fileinto", "variables", "date"];
# Сохраняем архив сообщений в папку archive.$год
if currentdate :matches "year" "*" {
set "archiveFolder" "archive.${1}";
}
# Сообщения, отправленные самому себе. Нет смысла иметь копию, так что помещаем в Trash.
if address :is "To" "user@example.com" {
fileinto "Trash";
stop;
}
# Сообщения в списки рассылок сразы кладём в архив.
if address :is "To" "debian-russian@lists.debian.org" {
fileinto "${archiveFolder}";
stop;
}
# Если письмо является ответом на что-то, то кладём его в INBOX.
if exists "In-Reply-To" {
fileinto "INBOX";
}
# Все прочие сообщения будут оставлены на своём месте.
Проверяем скрипт на папке Sent (путь к месту расположения берётся из
конфигурации dovecot). Скрипт выведет список действий, которые будут проведены
с каждым письмом. Убеждаемся, что он делает именно то, что нужно:
sieve-filter /path/to/script Sent
Далее настраиваем таблицу incron. Для этого записываем в редакторе
нижеприведённую при вызове incrontab -e. sieve-скрипт будет вызываться при
перемещении новых писем в maildir-папку Sent и будет обрабатывать всё там находящееся.
/home/user/Maildir/.Sent/cur IN_MOVED_TO /usr/bin/sieve-filter -e -W /path/to/script
При следующей отправке письма папка отсортируется.
Замечу, что подобным образом можно фильтровать любую другую папку при помещении в неё писем.
|
|
|
|
Раздел: Корень / Администратору / Сетевые сервисы / Mail, почта / Борьба со спамом, фильтрация почты |
1.1, pavlinux (ok), 23:52, 03/01/2013 [ответить]
| +/– |
> Предпочитаю хранить почтовые дискуссии в одном месте,
> а не держать отправленные письма отдельно в папке Sent,
dbmail + postgres CLUSTER;
> почта хранится в домашнем каталоге пользователя в формате maildir
Это статья для админов localhost ?
| |
|
2.2, Alexander Galanin (?), 13:34, 04/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
>> Предпочитаю хранить почтовые дискуссии в одном месте,
>> а не держать отправленные письма отдельно в папке Sent,
> dbmail + postgres CLUSTER;
Опишиnt эту связку, если есть что поведать миру. А то сейчас я не понимаю смысл комментария.
>> почта хранится в домашнем каталоге пользователя в формате maildir
> Это статья для админов localhost ?
В таком виде требуется доступ к файловой системе. Как только dovecot будет поддерживать расширение imapsieve, можно будет обойтись без incron.
| |
|
1.3, исчо_адын_аноним (?), 13:38, 04/01/2013 [ответить]
| +/– |
>Далее настраиваем таблицу incron. Для этого >записываем в редакторе
>нижеприведённую при вызове incrontab -e. sieve->скрипт будет вызываться при
>перемещении новых писем в maildir-папку Sent и >будет обрабатывать всё там находящееся.
Гениальные гении гениально велосипедят гениальные велосипеды.
Все уже завелосипедено до них
http://wiki2.dovecot.org/Pigeonhole/Sieve/Plugins/Pipe как пример, если поковырять исшо, то найдется
enotify ;)
| |
|
2.4, Alexander Galanin (?), 13:43, 04/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
>>Далее настраиваем таблицу incron. Для этого >записываем в редакторе
>>нижеприведённую при вызове incrontab -e. sieve->скрипт будет вызываться при
>>перемещении новых писем в maildir-папку Sent и >будет обрабатывать всё там находящееся.
> Гениальные гении гениально велосипедят гениальные велосипеды.
> Все уже завелосипедено до них
> http://wiki2.dovecot.org/Pigeonhole/Sieve/Plugins/Pipe как пример, если поковырять
> исшо, то найдется
> enotify ;)
Не вижу, как использовать эти расширения для обработки папки Sent. Напомню, что сообщения помещаются туда почтовым клиентом по IMAP-протоколу, а не через MDA.
| |
2.6, Танго (?), 04:54, 09/08/2013 [^] [^^] [^^^] [ответить]
| +/– |
Знаете, вы меня чертовски сбили с толку.
Вы так уверенно-насмешливо-авторитетно высказались, что я после этого подумал, что я что-то не понимаю и начал долбить маны.
На самом деле - никакого толку в том, что Вы посоветовали нет. Потому что для Sieve в Dovecot срабатывает только на событие входящей почты.
А если письмо в папку помещает IMAP, то Sieve даже не шелохнется.
| |
|
1.5, Sw00p aka Jerom (?), 00:19, 08/01/2013 [ответить]
| +/– |
у довкота хороший функционал написания плагинов помимо сиева, то нуно ломать голову как устроен сам довкот, и документация не очеь уж полная
| |
|