Exim+Dovecot+Dspam - не корректно работают транспорты

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
no_fate
проходил мимо
Сообщения: 2
Зарегистрирован: 2010-09-17 16:01:06

Exim+Dovecot+Dspam - не корректно работают транспорты

Непрочитанное сообщение no_fate » 2010-09-17 16:44:39

Уважаемые, пожалуйста помогите разобраться.

Настроен exim+dovecot по статье: http://www.lissyara.su/articles/freebsd ... tfixadmin/
Настроен dspam по статье: http://www.lissyara.su/articles/freebsd ... n_to_exim/

Почта ходит, dspam работает, обучается и т.п. как положено, спам распознает. Проблема в одном: сообщения, помеченные как спам в каталог Spam в инбоксе не складываются. Когда dspam определил спам-сообщение и по идее должен сработать транспорт, который это сообщение положит в папку Spam, в логах проходит следующее:
maillog:

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

Sep 17 17:09:32 хост dovecot: deliver(юзер@домен.ru): Fatal: setgid(26(mailnull)) failed with euid=26(mailnull), gid=6(mail), egid=6(mail): Operation not permitted (This binary should probably b
e called with process group set to 26(mailnull) instead of 26(mailnull))
exim:

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

2010-09-17 17:09:32 1OwXgb-0002VK-SL == юзер@домен.ru R=local_delivery_spam_router T=local_delivery_spam_transport defer (0): Child process of local_delivery_spam_transport transport returned 75 (could mean temporary error) from command: /usr/local/libexec/dovecot/deliver
Файл dovecot-sql.conf:

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

driver = mysql
connect = host=localhost dbname=exim user=exim password=exim
default_pass_scheme = PLAIN
password_query = SELECT `username` as `user`, `password` FROM `mailbox` WHERE `username` = '%n@%d' AND `active`='1'
user_query = SELECT `maildir` AS `home`, 26 AS `uid`, 26 AS `gid`FROM `mailbox` WHERE `username` = '%n@%d' AND `active`='1'
Если делаю следующее:
В dovecot-sql.conf меняю 26 на 6 для 'gid' т.е. запрос выглядит так: user_query = SELECT `maildir` AS `home`, 26 AS `uid`, 6 AS `gid`FROM `mailbox` WHERE `username` = '%n@%d' AND `active`='1'
после чего получаю обратную ситуацию - теперь dovecot не может положить входящие сообщения в мой ящик, однако сообщения, помеченные как спам, ложаться в папку Spam :)
maillog в этом случае выглядит вот так:

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

Sep 17 17:09:32 хост dovecot: deliver(юзер@домен.ru): Fatal: setgid(6(mail)) failed with euid=26(mailnull), gid=26(mailnull), egid=26(mailnull): Operation not permitted (This binary should proba
bly be called with process group set to 6(mail) instead of 26(mailnull))
Подозреваю, что deliver'y не нравится что-то в uid и guid но у меня не достаточно опыта чтобы разобраться как это исправить.

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

no_fate
проходил мимо
Сообщения: 2
Зарегистрирован: 2010-09-17 16:01:06

Re: Exim+Dovecot+Dspam - не корректно работают транспорты

Непрочитанное сообщение no_fate » 2010-09-20 21:18:40

Проблема решена.
делаем группу и владельца "mailnull" для /usr/local/libexec/dovecot/deliver
затем:

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

chmod +s /usr/local/libexec/dovecot/deliver
Все замечательно работает. После обновления Dovecot права необходимо выставить заново.