LINUX.ORG.RU
ФорумAdmin

Sendmail прикрутить к mysql


0

0

Как сделать чтоб sendmail мог гранить почту в базе mysql(или другой субд) Ну и конечно эккаунты брал из базы вместо passwd ? Я порылся на opennet но там вразумительного ответа не нашел ....

anonymous

Зачем хранить почту в базе???? Для архива или целиком принимать туда?
Для аккаунтов можно придумать все что угодно, что бы он не лез в
passwd, конфигурится это обычными флагами для локальных мылеров,
у меня procmail пропатчен таким образом, что он юзеров берет из того
места, где я ему укажу, есть правда одно но, как только снимешь флажек,
то sendmail перестанет мгновенно говорить user unknow, если действительно такой пользователь был, а потом его удалили...
Вот как выглядит стандартный вызов локального мейлера

Mlocal, P=/usr/bin/procmail, F=lsDFMAw5:/|@qSPfhn9, S=EnvFromL/HdrFromL, R=EnvToL/HdrToL,
T=DNS/RFC822/X-Unix,
A=procmail -Y -a $h -d $u

а вот подправленного, который работает без passwd с патченным
procmail'ом..
Mlocal, P=/usr/bin/procmail, F=lsDFMA5:/|@qSPfhn9, S=EnvFromL/HdrFromL, R=EnvToL/HdrToL,
T=DNS/RFC822/X-Unix,
A=procmail -Y -f $f -a $h -d $u

из F= убран флаг "w", который какраз проверяет .forward, т.е.
смотрит пользователей в passwd и ищет затем в их home файл
.forward, если нет такого пользователя то sendmail сразу дает
отлуп, а вот для procmail добавлен флажек -f $f, который генерит
разделитель From между сообщениями, что бы потом POP3/IMAP
могли нормально читать ящики....
Вот собственно и весь фокус...

McMCC ★★★
()
Ответ на: комментарий от McMCC

Мда... Забыл добавить, что procmail пропатчен таким образом, что
вначале он смотрит passwd, а затем виртуальный passwd, и естественно
сервера POP3 и IMAP4 аналогичным образом, но только еще с проверкой
паролей...

McMCC ★★★
()
Ответ на: комментарий от McMCC

Если так сделать как вы предлогаете то письма на несуществующих юзверей приниматься будут. Для меня задача минимум сделать базу эккаунтов для почты в базе mysql . Максимум почтовые сообщения хранить тоже в базе. Последнее делается чтобы велся архив всей почты и в случае чего можно было востановить архив для юзера Смысл - чтобы хранить почту на сервере а не на локальных дисках юзверей под виндами . Нехочется переходить с sendmail на альтернативные MTA в сендмейле куча юзабельных вещей

anonymous
()
Ответ на: комментарий от anonymous

Будут конечно приниматься, я об этом выше сказал, однако это не сильно
парит, так как можно милтером это чекать и на этапе to, говорить что нет
такого пользователя... Что же касается архива, то в корне не правильно все
пихать в базу, база тоже может навернуться, тем более что письма могут
быть мегабайты, сочуствую только вам, если не дай бог чего... Правильно
все сделать через милтер, милтер будет проверять юзера в базе и
дублировать почту, как входящу, так и исходящую, если конечно это
тоже нужно, а если нет, то только входящую....Вот юзеров можно держать
в базе mysql, но только не сами письма, тяжело ему будет...

McMCC ★★★
()
Ответ на: комментарий от anonymous

>Последнее делается чтобы велся архив всей почты и в случае чего можно
>было востановить архив для юзера Смысл - чтобы хранить почту на
>сервере а не на локальных дисках юзверей под виндами

Для этого достаточно поставить и настроить IMAP сервер, и все письма
будут на сервере...

McMCC ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.