URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 31704
[ Назад ]

Исходное сообщение
"Как научить relay на sendmail списку чужих адресов?"

Отправлено Сергей , 02-Июл-03 10:33 
Приветствую!

Есть релей на sendmail, перекидывает почту на разные домены через mailertable. Хочется как-то сообщить ему список возможных адресов для этих доменов, чтобы он ещё у себя отшивал сообщения несуществующим получателям, а не пытался их принять и отправить дальше. Нашёл как это сделать для postfix, но не хотелось бы отказываться от sendmail...

Сергей


Содержание

Сообщения в этом обсуждении
"Как научить relay на sendmail списку чужих адресов?"
Отправлено pepper , 02-Июл-03 10:56 
>Приветствую!
>
>Есть релей на sendmail, перекидывает почту на разные домены через mailertable. Хочется
>как-то сообщить ему список возможных адресов для этих доменов, чтобы он
>ещё у себя отшивал сообщения несуществующим получателям, а не пытался их
>принять и отправить дальше. Нашёл как это сделать для postfix, но
>не хотелось бы отказываться от sendmail...
>
>Сергей
Если твой релей указан в MX для нужных доменов, то можно использовать virtusertable

Но я это использую вместе с маскарадингом.

===========.mc=============
FEATURE(virtusertable, `hash -o /etc/mail/virtusertable')

============== /etc/mail/virtusertable ===============
pupkin@domain.ru           error:nouser No such user!


"Как научить relay на sendmail списку чужих адресов?"
Отправлено Dima , 02-Июл-03 11:09 
Э...
Сендмейл не может работать с virtualusers если работает как релей
Не путай человека.
он отдает на прямую в mailertab.

"Как научить relay на sendmail списку чужих адресов?"
Отправлено pepper , 02-Июл-03 11:36 
>Э...
>Сендмейл не может работать с virtualusers если работает как релей
>Не путай человека.
>он отдает на прямую в mailertab.

Что ты подразумеваешь под релеем?
У меня есть сервер, который пересылает почту другому серверу, у себя почту не складывает т.е. работает как релей, однако это не мешает ему пользоваться virtusertable. Однако sendmail должен знать что эта почта для него, а там уж  
через mailertable куда угодно отправит.


"Как научить relay на sendmail списку чужих адресов?"
Отправлено Dima , 02-Июл-03 19:49 
Релей это то что пропускается через себя и отдается дальше (во всяком случае это у меня так)
Если у тебя все домены прописаны в local-host-names
то тогда это не релей, а вариант использования твоего сендмейла для принятия почты для этих доменов, в этом случае домены считаются локальными и принадлежат данной машине
тогда у тебя действительно будет работать virtualusers
но не будет работать maillertab :)
если ты только в virtualusers не перенаправишь почту на другой ящик находящейся вне твоей машины.
что касается релея то машина должна принимать почту, по приницпу SMTP RELAY, когда твой сервер принимает почту и далее ее перенаправляет на другой почтовый сервер для которого этот домен будет считаться локальным.
в этом случае ты домен должен прописать не в local-host-names, а в relay-domains.
что дает право сендмейлу пропускать почту для домена через себя.
тут у тебя будет работать только mailertab
и поймать узера или определить есть ли он вообще ты не сможешь (во всяком случае в нормальной работе MTA)
Но есть вариант когда ты можешь отлавливать почту идущую на определенного узера если домен релеится через твой сервер (я это для себя уже давно сделал)
Хотя если немного переписать это, то можно научить пропускать только на этого узера :)

"Как научить relay на sendmail списку чужих адресов?"
Отправлено Сергей , 02-Июл-03 11:41 
>Э...
>Сендмейл не может работать с virtualusers если работает как релей
>Не путай человека.
>он отдает на прямую в mailertab.

Я тоже так думаю... Но мне кажется сендмейл такая гибкая вещь, а вопрос наверно довольно распространённый, что наверняка есть какое-то решение...
Данный релей прописан как mx для всех доменов на которые принимает почту, а потом в соответсвии с mailertable пересылает её на другие сервера. С этих серверов я могу выгрузить таблицы адресов, но незнаю как объяснить сендмейлу как их использовать... ?:|


"Как научить relay на sendmail списку чужих адресов?"
Отправлено pepper , 02-Июл-03 11:57 
Я же тебе говорю, используй virtusertable

===========.mc=============
FEATURE(virtusertable, `hash -o /etc/mail/virtusertable')

Затем в ты в /etc/mail/virtusertable
сможешь указать, что надо

Единственное отличие от твоей ситуации - это то, что у меня ещё и маскарадинг используется и /etc/mail/virtusertable выглядит так:
===============
saharov@xxx.ru       saharov@uxxx.local
solov@xxx.ru         gena@xxx.local
sushko@xxx.ru        sushko@xxx.local
fesova@xxx.ru        fes@xxx.local
@xxx.ru             error:nouser No such user!
========================================

Но я думаю, что тебе если есть список адресов просто нужно так сделать:

=============================
vasya@yyy.ru    vasya@yyy.ru  
........
........
petya@yyy.ru    petya@yyy.ru
@yyy.ru         error:nouser No such user!
==============================

При доставке sendmail проверит этот файлик (точнее virtusertable.db) и если не найдёт такой адрес то даст отлуп  - No such user!

У меня работает.


"Как научить relay на sendmail списку чужих адресов?"
Отправлено Сергей , 02-Июл-03 15:00 
>Я же тебе говорю, используй virtusertable
>

>vasya@yyy.ru    vasya@yyy.ru
>........
>........
>petya@yyy.ru    petya@yyy.ru
>@yyy.ru         error:nouser No such
>user!
>==============================
>
>При доставке sendmail проверит этот файлик (точнее virtusertable.db) и если не найдёт
>такой адрес то даст отлуп  - No such user!
>

В общем у меня пока ситуация такая, на тестовом сервере
есть файлы: access - там пара сеток, которым можно пакостить куда угодно
mailertable - c записями типа domaim.ru smtp[123.123.123.123]
relay-domains - co всеми доменами в mailertable, без этого почту на них не берёт.

делаю virtusertable
пишу туда:
vasia@domain.ru vasia@domain.ru
@domain.ru error:nouser No such user!
в конфиге ничего менять не надо, оно там и так поумолчанию есть
делаю makemap, перезапускаю сендмейл
по идею должно принимать почту только vasia@domain.ru, но принимает также на любые другие адреса и отдает согласно mailertable
убираю строку domain.ru из relay-domains, добавляю в local-host-names
при попытке написать юзеру vasia@domain.ru получаю такую ошибку
rewrite: excessive recursion (max 50), ruleset canonify


"Как научить relay на sendmail списку чужих адресов?"
Отправлено Сергей , 02-Июл-03 16:40 
В общем есть мнение что sendmail отдаёт сразу по mailertable, и virtusertable в этом случае не смотрит.
А у тебя, как раз работает, потому что ты один домен, которого нет в mailertable, меняешь через virtusertable на другой, который там есть после чего оно благополучно уходит по маршруту...
Я уже думал так сделать, но тогда надо придумывать какие-то промежуточные адреса, и менять домен всем юзерам на другой...
Может есть какой-то вариант, всё же научить сендмейл сначала посмотреть в список корреспондентов, и если адрес там есть, то послать на mailertable, а если нет, то посылать на #$%?

"Как научить relay на sendmail списку чужих адресов?"
Отправлено Сергей , 02-Июл-03 17:01 
или два сендмейла запустить
один будет через virtusertable преобразовывать всех
domain1.transfer
domain2.transfer
domain3.transfer, потом через mailertable отдавать другому, который будет осуществлять через virtusertable обратное преобразование и посылать по маршруту

бред какой-то....


"Как научить relay на sendmail списку чужих адресов?"
Отправлено lavr , 02-Июл-03 17:06 
>или два сендмейла запустить
>один будет через virtusertable преобразовывать всех
>domain1.transfer
>domain2.transfer
>domain3.transfer, потом через mailertable отдавать другому, который будет осуществлять через virtusertable обратное
>преобразование и посылать по маршруту
>
>бред какой-то....

есть понятие mailhub, в .../cf/README искать MAIL_HUB и изучать до просветления :)


"Как научить relay на sendmail списку чужих адресов?"
Отправлено Сергей , 02-Июл-03 18:33 

>есть понятие mailhub, в .../cf/README искать MAIL_HUB и изучать до просветления :)
>

Прочел, но просветление пока не наступило.
MAIL_HUB позволяет посылать всю почту которая квалифицорована как local mail отправлять на центральный сервер.
Как мне объснить sendmail, что списки адресов, которые я ему выгружу с серверов, это его local mail?


"Как научить relay на sendmail списку чужих адресов?"
Отправлено Dima , 02-Июл-03 20:00 
так и есть, а у того парнишки домен используется как локальный, а потом уже его пренаправляет на другой адрес :).
это не то что тебе нужно.
в общем если тебе дам для сендмейла так называемую FEATURE
его можно переделать и использовать как вариант который тебе нужен.
это дополнение вкопмилируется в стандартный sendmail.cf не теряя его функциональности :)
суть там такая.
Мне надо было ловить некоторые email для доменов которые релеятся на другие сервера.
по своей работе это немного урезанный virualusers, но свою функцию выполняет.
так вот ее можно и переделать :)
это всего лишь правила для сендмейла :)

"Как научить relay на sendmail списку чужих адресов?"
Отправлено Сергей , 03-Июл-03 10:04 
>так и есть, а у того парнишки домен используется как локальный, а
>потом уже его пренаправляет на другой адрес :).
>это не то что тебе нужно.
>в общем если тебе дам для сендмейла так называемую FEATURE
>его можно переделать и использовать как вариант который тебе нужен.
>это дополнение вкопмилируется в стандартный sendmail.cf не теряя его функциональности :)
>суть там такая.
>Мне надо было ловить некоторые email для доменов которые релеятся на другие
>сервера.
>по своей работе это немного урезанный virualusers, но свою функцию выполняет.
>так вот ее можно и переделать :)
>это всего лишь правила для сендмейла :)

Хочу! Хочу в Советский Союз! Если тебе не жалко то дай, буду пытаться её прикрутить, если хватит разумения :)
Только объясни, virtusers мне не подходит, потому что я не хочу менять у сообщений адреса, а если их не менять, то mailertable всё замечательно пересылает и плевать хотел на всякие списки. Эта фича будет работать до него?

Странно, неужели на сендмейле народ не реализовывает такую казалось бы полезную вещь....


"Как научить relay на sendmail списку чужих адресов?"
Отправлено Dima , 03-Июл-03 10:36 
Да, я как раз и делал на вариант релея.
у меня она называется GLOBALALIAS :)

"Как научить relay на sendmail списку чужих адресов?"
Отправлено Dima , 03-Июл-03 10:37 
To Сергей
а email?

"Как научить relay на sendmail списку чужих адресов?"
Отправлено Сергей , 03-Июл-03 14:06 
>To Сергей
>а email?

Прошу прощения, заняли на работе
если не сложно то на iusr@hotmail.com



"Как научить relay на sendmail списку чужих адресов?"
Отправлено Dima , 03-Июл-03 14:53 
Смотри ящик.

"Как научить relay на sendmail списку чужих адресов?"
Отправлено Сергей , 20-Окт-03 12:47 
>Приветствую!
>
>Есть релей на sendmail, перекидывает почту на разные домены через mailertable. Хочется
>как-то сообщить ему список возможных адресов для этих доменов, чтобы он
>ещё у себя отшивал сообщения несуществующим получателям, а не пытался их
>принять и отправить дальше. Нашёл как это сделать для postfix, но
>не хотелось бы отказываться от sendmail...
>
>Сергей

Приветствую! Короче не буду ленивым свином, расскажу так и быть, как просто это было сделать, и мудрить ничего не надо...
всего то надо было прописать в access

vasia@domain.ru      relay
petya@domain.ru      relay
domain.ru            reject

ну в relay-domains тоже domain.ru добавить надо

и соответсвенно domain.ru reject запись статическая, а список адресов для релея динамически загружается с нужных серверов

вот и всё. Так просто...

Сергей