The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Фильтрация исходящих почтовых сообщ..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Фильтрация исходящих почтовых сообщ..."  +/
Сообщение от auto_tips (ok) on 03-Янв-13, 23:52 
Предпочитаю хранить почтовые дискуссии в одном месте, а не держать отправленные письма отдельно в папке 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

При следующей отправке письма папка отсортируется.

Замечу, что подобным образом можно фильтровать любую другую папку при помещении в неё писем.


URL:
Обсуждается: http://www.opennet.dev/tips/info/2728.shtml

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Фильтрация исходящих почтовых сообщений с помощью sieve"  +/
Сообщение от pavlinux (ok) on 03-Янв-13, 23:52 
> Предпочитаю хранить почтовые дискуссии в одном месте,
> а не держать отправленные письма отдельно в папке Sent,

dbmail + postgres CLUSTER;  

> почта хранится в домашнем каталоге пользователя в формате maildir

Это статья для админов localhost ?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Фильтрация исходящих почтовых сообщений с помощью sieve"  +/
Сообщение от Alexander Galanin email on 04-Янв-13, 13:34 
>> Предпочитаю хранить почтовые дискуссии в одном месте,
>> а не держать отправленные письма отдельно в папке Sent,
> dbmail + postgres CLUSTER;  

Опишиnt эту связку, если есть что поведать миру. А то сейчас я не понимаю смысл комментария.

>> почта хранится в домашнем каталоге пользователя в формате maildir
> Это статья для админов localhost ?

В таком виде требуется доступ к файловой системе. Как только dovecot будет поддерживать расширение imapsieve, можно будет обойтись без incron.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Фильтрация исходящих почтовых сообщений с помощью sieve"  +/
Сообщение от исчо_адын_аноним on 04-Янв-13, 13:38 
>Далее настраиваем таблицу incron. Для этого >записываем в редакторе
>нижеприведённую при вызове incrontab -e. sieve->скрипт будет вызываться при
>перемещении новых писем в maildir-папку Sent и >будет обрабатывать всё там находящееся.

Гениальные гении гениально велосипедят гениальные велосипеды.
Все уже завелосипедено до них
http://wiki2.dovecot.org/Pigeonhole/Sieve/Plugins/Pipe как пример, если поковырять исшо, то найдется
enotify ;)


Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Фильтрация исходящих почтовых сообщений с помощью sieve"  +/
Сообщение от Alexander Galanin email on 04-Янв-13, 13:43 
>>Далее настраиваем таблицу incron. Для этого >записываем в редакторе
>>нижеприведённую при вызове incrontab -e. sieve->скрипт будет вызываться при
>>перемещении новых писем в maildir-папку Sent и >будет обрабатывать всё там находящееся.
> Гениальные гении гениально велосипедят гениальные велосипеды.
> Все уже завелосипедено до них
> http://wiki2.dovecot.org/Pigeonhole/Sieve/Plugins/Pipe как пример, если поковырять
> исшо, то найдется
> enotify ;)

Не вижу, как использовать эти расширения для обработки папки Sent. Напомню, что сообщения помещаются туда почтовым клиентом по IMAP-протоколу, а не через MDA.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

6. "Фильтрация исходящих почтовых сообщений с помощью sieve"  +/
Сообщение от Танго email on 09-Авг-13, 04:54 
Знаете, вы меня чертовски сбили с толку.
Вы так уверенно-насмешливо-авторитетно высказались, что я после этого подумал, что я что-то не понимаю и начал долбить маны.
На самом деле - никакого толку в том, что Вы посоветовали нет. Потому что для Sieve в Dovecot срабатывает только на событие входящей почты.
А если письмо в папку помещает IMAP, то Sieve даже не шелохнется.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Фильтрация исходящих почтовых сообщений с помощью sieve"  +/
Сообщение от Sw00p aka Jerom on 08-Янв-13, 00:19 
у довкота хороший функционал написания плагинов помимо сиева, то нуно ломать голову как устроен сам довкот, и документация не очеь уж полная
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру