Страница 1 из 1

Dovecot-lda

Добавлено: 2010-11-30 21:43:58
mr. brightside
Добрый день, уважаемые!

Итак, есть Сендмыл. Сейчас процмыл является локальным доставщиком. Dovecot - раздает почту, являясь IMAP/POP3 сервером.

Хочу, чтобы у меня не было конвеера, да и dovecot'овские индексы быстрее обновлялись - короче, хочу иметь локальным доставщиком dovecot.

Залез на оф сайт (http://wiki.dovecot.org/LDA/Sendmail), почитал, кажется, что все просто. Добавляю строки в hostname.mc:

Код: Выделить всё

FEATURE(`local_procmail', `/usr/local/libexec/dovecot/deliver',`/usr/local/libexec/dovecot/deliver -d $u')
MODIFY_MAILER_FLAGS(`LOCAL', `-f')
MAILER(procmail)
Отправляю с внешнего сервака себе письмо - и оно не приходит. Увы и ах.

Курю гугл и понимаю, что надо бы добавить следующий блок в конфиг самого dovecot'a:

Код: Выделить всё

protocol lda {

}
Но, какое содержимое должно быть у этого блока? И, кто-нибудь может мне сказать назначение ключиков -d и -f:

Код: Выделить всё

FEATURE(`local_procmail', `/usr/local/libexec/dovecot/deliver',`/usr/local/libexec/dovecot/deliver -d $u')
MODIFY_MAILER_FLAGS(`LOCAL', `-f')
Да, и хотелось бы, чтобы помеченные, как спам, письма заворачивались в отдельный ящик...

Очень надеюсь на конструктивную помощь и заранее спасибо!

Re: Dovecot-lda

Добавлено: 2010-12-02 18:17:33
blade_007
Например, такой блок

Код: Выделить всё

protocol lda {
  postmaster_address = postmaster@domain.ru
  auth_socket_path = /var/run/dovecot/auth-master
  log_path = /var/log/dovecot/delivery.log
  info_log_path = /var/log/dovecot/delivery-info.log
}
-d пользователь, для которого данное письмо предназначено (destination username)
-f адрес отправителя в конверте

Для того, чтоб письма, помеченные, как спам, ложились в определенную папку по-моему в конфиге sendmail должно быть прописано что-то типа

Код: Выделить всё

FEATURE(XXXXX, `/usr/libexec/dovecot/deliver',`/usr/libexec/dovecot/deliver -d $u -s -m Spam')
Так как sendmail не настраивал точно сказать не могу.

Re: Dovecot-lda

Добавлено: 2010-12-02 22:34:36
mr. brightside
FEATURE(XXXXX, `/usr/libexec/dovecot/deliver',`/usr/libexec/dovecot/deliver -d $u -s -m Spam')
Так а dovecot же поддерживает sieve? Где то я читал, что лучше в самом dovecot'e писать правила для писем, потому что так индексы лучше и быстрее обновляются - схема работает быстрее, да и синтаксис понятней...

нашел вот такое, локальный доставщик описан так:

Код: Выделить всё

protocol lda {
  postmaster_address    = postmaster
  auth_socket_path      = /var/run/dovecot/auth-master
  deliver_log_format    = mail from %f: %$
  mail_plugins          = sieve
  mail_plugin_dir       = /usr/local/lib/dovecot/lda
  sendmail_path         = /usr/sbin/sendmail
}
plugin {
  sieve_before          = /usr/local/etc/dovecot/before.sieve
}

В файлик /usr/local/etc/dovecot/before.sieve кладем следующее:

Код: Выделить всё

require "fileinto";
if anyof (header :contains "Subject" "SPAM")
{
   fileinto "Junk";
}
else
{
   keep;
}
Подскажите, могу ли я вместо строки "fileinto "Junk";" написать:

Код: Выделить всё

{
   fileinto /usr/local/spam/.maildir/;
}
Чтобы сразу положить письмо в общий отстойник, а не в папку спама для каждого пользователя. Пользователей у меня не штука и даже не сотня, сам сортирую спамовые письма - уходит 5 минут и пока не парит =)

Re: Dovecot-lda

Добавлено: 2010-12-02 23:07:57
blade_007
Согласно документации: http://tools.ietf.org/html/rfc5228#section-4.1
The "fileinto" action delivers the message into the specified mailbox.

Так что это может быть только mailbox, хотя могу и ошибаться.

Можно сделать redirect "spams@domain.ru"; а там уже держать весь спам.