Maildrop настрока...

Подключение и настройка дополнительных модулей: антивирус, антиспам, аутентификация mySQL и пр.
Писать в этот форум могут только зарегистрированные пользователи.

Модераторы: prefer, alexandrnew, ALex_hha, Roman, Axel

Ответить
ymsssg
Специалист
Специалист
Сообщения: 275
Зарегистрирован: 23 ноя 2005, 10:56
Откуда: Омск

Maildrop настрока...

Сообщение ymsssg » 04 окт 2006, 13:36

Люди добрые, поделиться plz работающим примером настройки сабжа. Никак не получается его победить :-(

P.S. Было бы очень интересно узнать как заставить maildrop брать информацию о пользователях из PostgreSQL
Последний раз редактировалось ymsssg 09 окт 2006, 10:20, всего редактировалось 1 раз.

africa
Postfix знает
Postfix знает
Сообщения: 97
Зарегистрирован: 24 мар 2006, 22:00

Сообщение africa » 06 окт 2006, 09:19

Ставим Maildrop из портов
cd /usr/ports/mail/maildrop
portapgrade –N –f –m ‘WITH_GDBM=yes WITH_AUTHLIB=yes MAILDROP_SUID=root’
выбираем AUTH_MYSQL, AUTH_USERDB
rehash


У меня MySQL, тебе надо будет выбрать AUTH для PostgrrSQL

ymsssg
Специалист
Специалист
Сообщения: 275
Зарегистрирован: 23 ноя 2005, 10:56
Откуда: Омск

Сообщение ymsssg » 09 окт 2006, 10:41

africa писал(а):Ставим Maildrop из портов
cd /usr/ports/mail/maildrop
portapgrade –N –f –m ‘WITH_GDBM=yes WITH_AUTHLIB=yes MAILDROP_SUID=root’
выбираем AUTH_MYSQL, AUTH_USERDB
rehash


У меня MySQL, тебе надо будет выбрать AUTH для PostgrrSQL
Чет не вылетает меню с выбором опций

africa
Postfix знает
Postfix знает
Сообщения: 97
Зарегистрирован: 24 мар 2006, 22:00

Сообщение africa » 09 окт 2006, 10:58

Maildrop у тебя уже видимо был установлен.
Поэтому удали его подчистую, т.е. не только из портов, но надо удалить запись из какого то файла, в котором прописываются все установленные программы. Я название этого файла сходу не помню.

africa
Postfix знает
Postfix знает
Сообщения: 97
Зарегистрирован: 24 мар 2006, 22:00

Сообщение africa » 09 окт 2006, 16:31

Удали каталог
/var/db/ports/maildrop

ymsssg
Специалист
Специалист
Сообщения: 275
Зарегистрирован: 23 ноя 2005, 10:56
Откуда: Омск

Сообщение ymsssg » 10 окт 2006, 06:32

africa писал(а):Удали каталог
/var/db/ports/maildrop
Помогло. Вопрос а что делать после инсталляции? Как maildrop научить брать данные о пользователях и мэйлдирах из PGSQL? Как научить его автоматом создавать мэйлдиры? и как его прикрутить к postfix?

africa
Postfix знает
Postfix знает
Сообщения: 97
Зарегистрирован: 24 мар 2006, 22:00

Сообщение africa » 10 окт 2006, 09:41

Мэйлдиры я автоматически не создаю, для их создания использую команду maildirmake .
А что не работает то ?

ymsssg
Специалист
Специалист
Сообщения: 275
Зарегистрирован: 23 ноя 2005, 10:56
Откуда: Омск

Сообщение ymsssg » 10 окт 2006, 11:29

Собирал maildrop так:
make WITH_AUTHLIB=yes MAILDROP_TRUSTED_USERS=postfix MAILDROP_SUID=root install clean
из опций выбрал PGSQL
maildrop -v выдает:
maildrop 2.0.2 Copyright 1998-2005 Double Precision, Inc.
Courier Authentication Library extension enabled.
Maildir quota extension enabled.
This program is distributed under the terms of the GNU General Public
License. See COPYING for additional information.

далее: cd /usr/ports/mail/maildrop
maildrop -V 4 -d s2@mydomain.ru < distinfo
maildrop: authlib: groupid=6
maildrop: authlib: userid=125
maildrop: authlib: logname=s2@mydomain.ru, home=/var/mail/virtual, mail=mydomain.ru/s2/
maildrop: You are not a trusted user.

P.S. uid=125 принадлежит postfix

africa
Postfix знает
Postfix знает
Сообщения: 97
Зарегистрирован: 24 мар 2006, 22:00

Сообщение africa » 10 окт 2006, 14:33

Зачем MAILDROP_TRUSTED_USERS=postfix

ymsssg
Специалист
Специалист
Сообщения: 275
Зарегистрирован: 23 ноя 2005, 10:56
Откуда: Омск

Сообщение ymsssg » 11 окт 2006, 04:49

africa писал(а):Зачем MAILDROP_TRUSTED_USERS=postfix
Все-таки было бы проще если бы ты в icq 135188730 ко мне стукнулся. Вместе бы быстрее разобрались и готовый рецепт бы здесь выложили. Уверен многим было интересно его посмотреть.

africa
Postfix знает
Postfix знает
Сообщения: 97
Зарегистрирован: 24 мар 2006, 22:00

Сообщение africa » 11 окт 2006, 11:06

У меня нет к сожалению icq и инет не всегда под рукой. Какие конфиги интересуют, я их почти не радактировал, только в main.cf прописал имя почтового сервера, свои подсети и пару строк для Clamav. Т.е. все настроено по самому минимуму. Ты с таблицами в постгрес разобрался ?

ymsssg
Специалист
Специалист
Сообщения: 275
Зарегистрирован: 23 ноя 2005, 10:56
Откуда: Омск

Сообщение ymsssg » 11 окт 2006, 11:34

africa писал(а):У меня нет к сожалению icq и инет не всегда под рукой. Какие конфиги интересуют, я их почти не радактировал, только в main.cf прописал имя почтового сервера, свои подсети и пару строк для Clamav. Т.е. все настроено по самому минимуму. Ты с таблицами в постгрес разобрался ?
Интересует что прописывал в main.cf и в master.cf а также в /usr/local/etc/maildroprc

ymsssg
Специалист
Специалист
Сообщения: 275
Зарегистрирован: 23 ноя 2005, 10:56
Откуда: Омск

Сообщение ymsssg » 16 окт 2006, 11:08

Оказывается важно правильно собрать maildrop и правильные флаги прописать ему. А конфиги у меня были правильные. Спасибо Africa за помощь, жаль что она слегка запоздала.

Хочу опубликовать способ как с помощью maildrop можно задавать квоты на размер письма выборочным пользователям. К примеру чтобы в ящики диалапщикам не попадали письма больше мегабайта, тогда как остальным можно и 10. Все действия проводились во FreeBSD, думаю что с минимальными поправками все это будет работать и на других юниксах.

1.Перво-наперво надо выполнить команды:
rm -f /var/db/ports/maildrop/options && rmdir /var/db/ports/maildrop
2.Далее устанавливаем Maildrop
cd /usr/ports/mail/maildrop
make WITH_AUTHLIB=yes MAILDROP_TRUSTED_USERS=courier install clean
В появившемся меню опций я выбрал AUTH_PGSQL и AUTH_userdb
2.1 Далее chmod u+s /usr/local/bin/maildrop
3.Далее
touch /usr/local/etc/maildroprc (c помощью этого скрипта можно создать майлдиры полльзователей)
###
SHELL="/bin/sh"
`test -d $HOME$DEFAULT`
if ($RETURNCODE!=0)
{
`mkdir -p -m 0700 $HOME/$DEFAULT`
`mkdir -m 0700 $HOME/$DEFAULT/cur`
`mkdir -m 0700 $HOME/$DEFAULT/new`
`mkdir -m 0700 $HOME/$DEFAULT/tmp`
}
QUOTA="$MAILDIRQUOTA"'S'
`maildirmake -q $QUOTA $HOME$DEFAULT`
###
4.Далее
chown courier:courier /usr/local/etc/maildroprc && chmod +x /usr/local/etc/maildroprc
5.Postfix:
5.1 В main.cf добавляем строки:
virtual_transport = maildrop
maildrop_destination_recipient_limit = 1
5.2 master.cf правим чтобы было так:
maildrop unix - n n - - pipe
flags=DRhu user=courier argv=/usr/local/bin/maildrop -w 90 -d ${recipient} ${sender}

6. Чтобы сделать возможным задание необходимого максимального размера письма для выборочных ящиков
делаем файл /usr/local/etc/maildroprc такого содержания:
SHELL="/bin/sh"
logfile "$HOME/maildrop.log"
DEF = $HOME/$DEFAULT.mailfilter
`test -f $HOME/$DEFAULT.mailfilter`
if ( $RETURNCODE == 0 )
{
include $DEF
if ( $QUIT )
REASON="users's filter"
}

6.1 В майлдиры пользователей которым нужна фильтрация по размеру письма помещаем
файлы .mailfilter вида:
if ( $SIZE > 1048576)
{
to "/dev/null"
}
Таким образом все письма размером более 1Мб отправленные этому пользователю будут сразу удаляться.

Ответить