Правило для Sendmail

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

Модератор: xM

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

Правило для Sendmail

Непрочитанное сообщение mr. brightside » 2011-09-16 15:40:49

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

Пост адресован тем, кто копается в сендмыле и умеет писать правила. Прошу не рекомендовать мне exim. Я очень устал от подобных советов.

Итак, задача состоит в том, что подсказать сендмылу проверять пользователей на их наличие в LDAP каталоге. У меня виртуальные учетки, которые я храню в LDAP, там же и хэшированные пароли. POP3 и SMTP авторизация происходит также через LDAP.

В связи с хранением учеток в LDAP, а не в passwd базе возникла проблема приема всех писем, где обозначен мой домен:

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

non.existent.user@domain.ru
Т.е. сендмыл принимает письмо, а наличие получателя проверяется уже на стадии локальной доставки. Если пользователь не обнаруживается, то письмо отсылается постмастеру.

В связи с этим предполагаю, что надо написать что то вроде:

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

LOCAL_CONFIG
Kldap user "-m" "-a"@LOCALUSER
Kalias implicit -m -a@LOCALUSER /etc/mail/aliases
Klocal sequence alias passwd

LOCAL_RULESETS
SLocal_check_rcpt
R$* <$+@$=w>                  $: $>CheckLocal $2

SCheckLocal
R$+                  $: $(local $1 $)
R$+@LOCALUSER                 $@ OK
R$*                  $#error $@ 4.1.8 $: "450 Unknown user " $1 
Ключи в строке с LDAP я специально взял в кавычки, потому что не уверен, что эти ключи используются для работы с LDAP (см. доку: http://www.opennet.ru/docs/RUS/sendmail ... html#toc59), либо нужны дополнительные ключи

Вопрос в том, как мне правильно дописать правило? Может кто-нибудь помочь?
Только 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/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

ASY
мл. сержант
Сообщения: 130
Зарегистрирован: 2011-02-21 12:50:03

Re: Правило для Sendmail

Непрочитанное сообщение ASY » 2011-09-19 0:16:08

> В связи с хранением учеток в LDAP, а не в passwd базе возникла проблема приема всех писем, где обозначен мой домен:

А если с другой стороны подойти ? со стороны pam_ldap, например ? Это одна "другая сторона". Ещё один вариант зависит от того, кто mail storage. Если это, вдруг, Cyrus-IMAP, то у него есть smmapd, а Sendmail имеет поддержку socket map так называемых. Он можеть просто спросить у Cyrus-IMAP и всякие LDAP будут ему по барабану.