Приветствую!Есть релей на sendmail, перекидывает почту на разные домены через mailertable. Хочется как-то сообщить ему список возможных адресов для этих доменов, чтобы он ещё у себя отшивал сообщения несуществующим получателям, а не пытался их принять и отправить дальше. Нашёл как это сделать для postfix, но не хотелось бы отказываться от sendmail...
Сергей
>Приветствую!
>
>Есть релей на 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!
Э...
Сендмейл не может работать с virtualusers если работает как релей
Не путай человека.
он отдает на прямую в mailertab.
>Э...
>Сендмейл не может работать с virtualusers если работает как релей
>Не путай человека.
>он отдает на прямую в mailertab.Что ты подразумеваешь под релеем?
У меня есть сервер, который пересылает почту другому серверу, у себя почту не складывает т.е. работает как релей, однако это не мешает ему пользоваться virtusertable. Однако sendmail должен знать что эта почта для него, а там уж
через mailertable куда угодно отправит.
Релей это то что пропускается через себя и отдается дальше (во всяком случае это у меня так)
Если у тебя все домены прописаны в local-host-names
то тогда это не релей, а вариант использования твоего сендмейла для принятия почты для этих доменов, в этом случае домены считаются локальными и принадлежат данной машине
тогда у тебя действительно будет работать virtualusers
но не будет работать maillertab :)
если ты только в virtualusers не перенаправишь почту на другой ящик находящейся вне твоей машины.
что касается релея то машина должна принимать почту, по приницпу SMTP RELAY, когда твой сервер принимает почту и далее ее перенаправляет на другой почтовый сервер для которого этот домен будет считаться локальным.
в этом случае ты домен должен прописать не в local-host-names, а в relay-domains.
что дает право сендмейлу пропускать почту для домена через себя.
тут у тебя будет работать только mailertab
и поймать узера или определить есть ли он вообще ты не сможешь (во всяком случае в нормальной работе MTA)
Но есть вариант когда ты можешь отлавливать почту идущую на определенного узера если домен релеится через твой сервер (я это для себя уже давно сделал)
Хотя если немного переписать это, то можно научить пропускать только на этого узера :)
>Э...
>Сендмейл не может работать с virtualusers если работает как релей
>Не путай человека.
>он отдает на прямую в mailertab.Я тоже так думаю... Но мне кажется сендмейл такая гибкая вещь, а вопрос наверно довольно распространённый, что наверняка есть какое-то решение...
Данный релей прописан как mx для всех доменов на которые принимает почту, а потом в соответсвии с mailertable пересылает её на другие сервера. С этих серверов я могу выгрузить таблицы адресов, но незнаю как объяснить сендмейлу как их использовать... ?:|
Я же тебе говорю, используй 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!
У меня работает.
>Я же тебе говорю, используй 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
В общем есть мнение что sendmail отдаёт сразу по mailertable, и virtusertable в этом случае не смотрит.
А у тебя, как раз работает, потому что ты один домен, которого нет в mailertable, меняешь через virtusertable на другой, который там есть после чего оно благополучно уходит по маршруту...
Я уже думал так сделать, но тогда надо придумывать какие-то промежуточные адреса, и менять домен всем юзерам на другой...
Может есть какой-то вариант, всё же научить сендмейл сначала посмотреть в список корреспондентов, и если адрес там есть, то послать на mailertable, а если нет, то посылать на #$%?
или два сендмейла запустить
один будет через virtusertable преобразовывать всех
domain1.transfer
domain2.transfer
domain3.transfer, потом через mailertable отдавать другому, который будет осуществлять через virtusertable обратное преобразование и посылать по маршрутубред какой-то....
>или два сендмейла запустить
>один будет через virtusertable преобразовывать всех
>domain1.transfer
>domain2.transfer
>domain3.transfer, потом через mailertable отдавать другому, который будет осуществлять через virtusertable обратное
>преобразование и посылать по маршруту
>
>бред какой-то....есть понятие mailhub, в .../cf/README искать MAIL_HUB и изучать до просветления :)
>есть понятие mailhub, в .../cf/README искать MAIL_HUB и изучать до просветления :)
>Прочел, но просветление пока не наступило.
MAIL_HUB позволяет посылать всю почту которая квалифицорована как local mail отправлять на центральный сервер.
Как мне объснить sendmail, что списки адресов, которые я ему выгружу с серверов, это его local mail?
так и есть, а у того парнишки домен используется как локальный, а потом уже его пренаправляет на другой адрес :).
это не то что тебе нужно.
в общем если тебе дам для сендмейла так называемую FEATURE
его можно переделать и использовать как вариант который тебе нужен.
это дополнение вкопмилируется в стандартный sendmail.cf не теряя его функциональности :)
суть там такая.
Мне надо было ловить некоторые email для доменов которые релеятся на другие сервера.
по своей работе это немного урезанный virualusers, но свою функцию выполняет.
так вот ее можно и переделать :)
это всего лишь правила для сендмейла :)
>так и есть, а у того парнишки домен используется как локальный, а
>потом уже его пренаправляет на другой адрес :).
>это не то что тебе нужно.
>в общем если тебе дам для сендмейла так называемую FEATURE
>его можно переделать и использовать как вариант который тебе нужен.
>это дополнение вкопмилируется в стандартный sendmail.cf не теряя его функциональности :)
>суть там такая.
>Мне надо было ловить некоторые email для доменов которые релеятся на другие
>сервера.
>по своей работе это немного урезанный virualusers, но свою функцию выполняет.
>так вот ее можно и переделать :)
>это всего лишь правила для сендмейла :)Хочу! Хочу в Советский Союз! Если тебе не жалко то дай, буду пытаться её прикрутить, если хватит разумения :)
Только объясни, virtusers мне не подходит, потому что я не хочу менять у сообщений адреса, а если их не менять, то mailertable всё замечательно пересылает и плевать хотел на всякие списки. Эта фича будет работать до него?Странно, неужели на сендмейле народ не реализовывает такую казалось бы полезную вещь....
Да, я как раз и делал на вариант релея.
у меня она называется GLOBALALIAS :)
To Сергей
а email?
>To Сергей
>а email?Прошу прощения, заняли на работе
если не сложно то на iusr@hotmail.com
Смотри ящик.
>Приветствую!
>
>Есть релей на sendmail, перекидывает почту на разные домены через mailertable. Хочется
>как-то сообщить ему список возможных адресов для этих доменов, чтобы он
>ещё у себя отшивал сообщения несуществующим получателям, а не пытался их
>принять и отправить дальше. Нашёл как это сделать для postfix, но
>не хотелось бы отказываться от sendmail...
>
>СергейПриветствую! Короче не буду ленивым свином, расскажу так и быть, как просто это было сделать, и мудрить ничего не надо...
всего то надо было прописать в accessvasia@domain.ru relay
petya@domain.ru relay
domain.ru rejectну в relay-domains тоже domain.ru добавить надо
и соответсвенно domain.ru reject запись статическая, а список адресов для релея динамически загружается с нужных серверов
вот и всё. Так просто...
Сергей