Dovecot-lda

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
mr. brightside
сержант
Сообщения: 260
Зарегистрирован: 2010-04-17 17:32:39
Откуда: Saint-Petersburg

Dovecot-lda

Непрочитанное сообщение mr. brightside » 2010-11-30 21:43:58

Добрый день, уважаемые!

Итак, есть Сендмыл. Сейчас процмыл является локальным доставщиком. 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')
Да, и хотелось бы, чтобы помеченные, как спам, письма заворачивались в отдельный ящик...

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

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2520 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

blade_007
ст. прапорщик
Сообщения: 571
Зарегистрирован: 2010-03-12 12:59:08
Контактная информация:

Re: Dovecot-lda

Непрочитанное сообщение blade_007 » 2010-12-02 18:17:33

Например, такой блок

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

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 не настраивал точно сказать не могу.

Аватара пользователя
mr. brightside
сержант
Сообщения: 260
Зарегистрирован: 2010-04-17 17:32:39
Откуда: Saint-Petersburg

Re: Dovecot-lda

Непрочитанное сообщение mr. brightside » 2010-12-02 22:34:36

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 минут и пока не парит =)
Только FreeBSD, только хардкор

blade_007
ст. прапорщик
Сообщения: 571
Зарегистрирован: 2010-03-12 12:59:08
Контактная информация:

Re: Dovecot-lda

Непрочитанное сообщение blade_007 » 2010-12-02 23:07:57

Согласно документации: http://tools.ietf.org/html/rfc5228#section-4.1
The "fileinto" action delivers the message into the specified mailbox.

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

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