The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"sendmail + user lookup"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"sendmail + user lookup"  
Сообщение от xeo email(ok) on 06-Сен-07, 12:09 
Добрый день.

В системе установлено:
sendmail 8.13.3
cyrus-imapd-2.1.18_1
cyrus-sasl-2.1.22
cyrus-sasl-saslauthd-2.1.22

конфиг sendmail.mc
//------------------------------------
divert(0)
VERSIONID(`$FreeBSD: src/etc/sendmail/freebsd.mc,v 1.29 2003/12/24 21:15:09 gshapiro Exp $')
OSTYPE(freebsd5)
DOMAIN(generic)

FEATURE(access_db, `hash -o -T<TMPF> /etc/mail/access')
FEATURE(blacklist_recipients)
FEATURE(local_lmtp)
FEATURE(mailertable, `hash -o /etc/mail/mailertable')
FEATURE(virtusertable, `hash -o /etc/mail/virtusertable')

dnl Uncomment the first line to change the location of the default
dnl /etc/mail/local-host-names and comment out the second line.
dnl define(`confCW_FILE', `-o /etc/mail/sendmail.cw')
define(`confCW_FILE', `-o /etc/mail/local-host-names')

dnl Enable for both IPv4 and IPv6 (optional)
DAEMON_OPTIONS(`Name=IPv4, Family=inet')
dnl DAEMON_OPTIONS(`Name=IPv6, Family=inet6, Modifiers=O')

define(`confAUTH_OPTIONS', `A')dnl
TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

define(`confBIND_OPTS',`-DNSRCH -DEFNAMES')
define(`confTO_IDENT',`0')
FEATURE(`nocanonify')
FEATURE(`always_add_domain')

define(`confLOG_Level', `15')
define(`confDOUBLE_BOUNCE_ADDRESS', `')

define(`confBIND_OPTS', `WorkAroundBrokenAAAA')
define(`confNO_RCPT_ACTION', `add-to-undisclosed')
define(`confPRIVACY_FLAGS', `authwarnings,noexpn,novrfy')
MAILER(local)
MAILER(smtp)

define(`confLOCAL_MAILER',`cyrusv2')
define(`CYRUS_MAILER_PATH',`/usr/local/cyrus/bin/deliver')
MAILER(`cyrusv2')
//------------------------------------

Проблема в следующем: когда приходит письмо не существующему пользователю sendmail принимает его, и только потом генерит отлуп.

Для примера письмо приходил для пользователя fakeuser@domain.tld

Проверим, будет ли оно приниматься
domain# sendmail -bv fakeuser@domain.tld
fakeuser@domain.tld... deliverable: mailer cyrusv2, user fakeuser

Ок, в логах пишется что письмо принялось и отправлено майлеру, после чего майлер cyrus отвечает что user unknown.
Sep  6 12:06:12 domain sm-mta[87853]: l86868nx087851: to=<fakeuser@domain.tld>, delay=00:00:01, xdelay=00:00:00, mailer=cyrusv2, pri=32966, relay=loca
lhost, dsn=5.1.1, stat=User unknown

После этого sendmail пытается известить отправителя о том что такого пользователя нет в системе. Но по большому счету все письма на которые он отвечает это спам, и естественно их никто не получит. В связи с этим скапливается ОЧЕНЬ БОЛЬШАЯ чередь недоставленых сообщений.

Как с этим боротся ?
Как заставить сендмайл проверять пользвателей во время коннекта ?

Большое спасибо.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "sendmail + user lookup"  
Сообщение от DN (ok) on 06-Сен-07, 12:56 
>Как с этим боротся ?
>Как заставить сендмайл проверять пользвателей во время коннекта ?

Ищите sendmail socket map smmapd .
Это позволит sendmail обращаться к cyrus-imapd на предмет
наличия того или иного imap почтового ящика.

/usr/local/etc/cyrus.conf :

smmapd     cmd="smmapd" listen="/var/imap/socket/smmapd" prefork=1

/etc/make.conf :

SENDMAIL_CFLAGS+= -DSOCKETMAP

P.S. Не забудьте также, что есть другие переобразования адресов , которые
Вы должны учесть (virtusertable , aliases и т.д.).

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "sendmail + user lookup"  
Сообщение от xeo email(ok) on 06-Сен-07, 13:01 
>[оверквотинг удален]
>/usr/local/etc/cyrus.conf :
>
>smmapd     cmd="smmapd" listen="/var/imap/socket/smmapd" prefork=1
>
>/etc/make.conf :
>
>SENDMAIL_CFLAGS+= -DSOCKETMAP
>
>P.S. Не забудьте также, что есть другие переобразования адресов , которые
>Вы должны учесть (virtusertable , aliases и т.д.).

Спасибо!

Но данная версия cyrus-imapd не содержит smmapd
если ставить более свежую то она тянет за собой новую DB, боюсь как бы пользователи не слетели.

Как считаете, можно модернизировать вот это под мои нужды ?
http://www.unixfaq.ru/index.pl?req=qs&id=230

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "sendmail + user lookup"  
Сообщение от DN (ok) on 06-Сен-07, 13:37 
>Но данная версия cyrus-imapd не содержит smmapd
>если ставить более свежую то она тянет за собой новую DB, боюсь
>как бы пользователи не слетели.
>
>Как считаете, можно модернизировать вот это под мои нужды ?
>http://www.unixfaq.ru/index.pl?req=qs&id=230

Как идею, использовать можно.
Только список бюджетов в sasldb, в общем случае,
не совпадает с количеством и именами imap ящиков.
Используйте ctl_mboxlist -d для получения списка imap ящиков.
Из этого списка можно сделать hash базу для sendmail .
Если добавляете или удаляете imap ящик , то перестраиваете сразу и
hash базу для sendmail .


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "sendmail + user lookup"  
Сообщение от Medlar on 06-Сен-07, 13:41 
Вот еще два патча  Andrzej Filip, может пригодится
http://anfi.homeunix.net/sendmail/rtcyrus2.html
http://anfi.homeunix.net/sendmail/cyrusv2.html

И мб проще всего записать всех получателей в access, c последующим отлупом всем остальным?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "sendmail + user lookup"  
Сообщение от xeo email(ok) on 06-Сен-07, 13:58 
>Вот еще два патча  Andrzej Filip, может пригодится
>http://anfi.homeunix.net/sendmail/rtcyrus2.html
>http://anfi.homeunix.net/sendmail/cyrusv2.html
>
>И мб проще всего записать всех получателей в access, c последующим отлупом
>всем остальным?

Патчи видел, увы они тоже расчитаны на smmapd которого сейчас нет.

Спасибо.
Так и сделал через access.db

#cat access
localhost.localdomain RELAY
localhost RELAY
127.0.0.1 RELAY
To:pix@domain.tld OK
To:info@domain.tld OK
To:bel@domain.tld OK
To:smol@domain.tld OK
To:hab@domain.tld OK
To:par@domain.tld OK
To:gerdo@domain.tld OK
To:volkov@domain.tld OK
To:domain.tld OK REJECT

может чтото еще надо добавить ?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "sendmail + user lookup"  
Сообщение от Medlar on 07-Сен-07, 12:43 
>[оверквотинг удален]
>To:info@domain.tld OK
>To:bel@domain.tld OK
>To:smol@domain.tld OK
>To:hab@domain.tld OK
>To:par@domain.tld OK
>To:gerdo@domain.tld OK
>To:volkov@domain.tld OK
>To:domain.tld OK REJECT
>
>может чтото еще надо добавить ?

На первый взгляд, все ОК,
ну разве что OK в последней строке лишний



Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру