|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Serge V.Panchenko 2:5054/28.1 21 Aug 2007 11:33:54 To : Andrey Ostanovsky Subject : Как отправить почту HА ОДИH АДРЕС мимо MX'а? -------------------------------------------------------------------------------- 20 Aug 07 17:36, Andrey Ostanovsky wrote to Serge V.Panchenko: SP>> только на адрес xxxxxx@domain.ru и никуда иначе. И предложили SP>> такой вариант: шли почту, отправленную на xxxxxx@domain.ru не по SP>> MX'у, а прямо нам, на сервер с IP-адресом X.X.X.X. Вот, если мы SP>> её у тебя напрямую примем, то точно никуда не похерим. AO> Правильнее сделать так, чтобы "они" принимали почту с видом AO> xxxxxx@X.X.X.X. Тогда у себя заводим виртуальный домен "domain.ru", AO> ловим письмо для xxxxxx@domain.ru и пересылаем его на новый адрес AO> X.X.X.X. А на новом адресе почту для xxxxxx@X.X.X.X. должны AO> перенаправлять в общий ящик для xxxxxx@domain.ru. По полю To: оно AO> будет строго соответствовать директиве руководства. AO> VIRTUSER_DOMAIN_FILE(`/etc/mail/virtual-host-domains') AO> less /etc/mail/virtual-host-domains AO> mail.ru AO> less /etc/mail/virtusertable AO> testova@mail.ru ira Всё замечательно с адресом xxxxxx@domain.ru. Прописал domain.ru в /etc/mail/virtual-host-domain, сделал карту /etc/mail/virtusertable: xxxxxx@domain.ru xxxxxx@[X.X.X.X] Тестирую: > 3,0 xxxxxx@domain.ru canonify input: xxxxxx @ domain . ru Canonify2 input: xxxxxx < @ domain . ru > Canonify2 returns: xxxxxx < @ domain . ru . > canonify returns: xxxxxx < @ domain . ru . > parse input: xxxxxx < @ domain . ru . > Parse0 input: xxxxxx < @ domain . ru . > Parse0 returns: xxxxxx < @ domain . ru . > Parse1 input: xxxxxx < @ domain . ru . > Recurse input: xxxxxx @ [ X . X . X . X ] canonify input: xxxxxx @ [ X . X . X . X ] Canonify2 input: xxxxxx < @ [ X . X . X . X ] > Canonify2 returns: xxxxxx < @ [ X . X . X . X ] > canonify returns: xxxxxx < @ [ X . X . X . X ] > parse input: xxxxxx < @ [ X . X . X . X ] > Parse0 input: xxxxxx < @ [ X . X . X . X ] > Parse0 returns: xxxxxx < @ [ X . X . X . X ] > Parse1 input: xxxxxx < @ [ X . X . X . X ] > Parse1 returns: $# smtp8 $@ [ X . X . X . X ] $: xxxxxx < @ [ X . X . X . X ] > parse returns: $# smtp8 $@ [ X . X . X . X ] $: xxxxxx < @ [ X . X . X . X ] > Recurse returns: $# smtp8 $@ [ X . X . X . X ] $: xxxxxx < @ [ X . X . X . X ] > Parse1 returns: $# smtp8 $@ [ X . X . X . X ] $: xxxxxx < @ [ X . X . X . X ] > parse returns: $# smtp8 $@ [ X . X . X . X ] $: xxxxxx < @ [ X . X . X . X ] > > Казалось бы. всё шоколадно, но... Если почта идёт на какого-нибудь user@domain.ru - то сервер считает её тоже почтой на свой (!) виртуальный домен domain.ru, не находит в virtusertable имени user и... пытается доставить почту локально: > 3,0 user@domain.perm.ru canonify input: user @ domain . ru Canonify2 input: user < @ domain . ru > Canonify2 returns: user < @ domain . ru . > canonify returns: user < @ domain . ru . > parse input: user < @ domain . ru . > Parse0 input: user < @ domain . ru . > Parse0 returns: user < @ domain . ru . > Parse1 input: user < @ domain . ru . > Recurse input: user @ domain . ru canonify input: user @ domain . ru Canonify2 input: user < @ domain . ru > Canonify2 returns: user < @ domain . ru . > canonify returns: user < @ domain . ru . > parse input: user < @ domain . ru . > Parse0 input: user < @ domain . ru . > Parse0 returns: user < @ domain . ru . > Parse1 input: user < @ domain . ru . > Recurse input: user @ domain . ru canonify input: user @ domain . ru Canonify2 input: user < @ domain . ru > Canonify2 returns: user < @ domain . ru . > canonify returns: user < @ domain . ru . > parse input: user < @ domain . ru . > Parse0 input: user < @ domain . ru . > Parse0 returns: user < @ domain . ru . > Parse1 input: user < @ domain . ru . > Recurse input: user @ domain . ru canonify input: user @ domain . ru Canonify2 input: user < @ domain . ru > Canonify2 returns: user < @ domain . ru . > canonify returns: user < @ domain . ru . > parse input: user < @ domain . ru . > Parse0 input: user < @ domain . ru . > Parse0 returns: user < @ domain . ru . > Parse1 input: user < @ domain . ru . > Recurse input: user @ domain . ru canonify input: user @ domain . ru Canonify2 input: user < @ domain . ru > Canonify2 returns: user < @ domain . ru . > canonify returns: user < @ domain . ru . > parse input: user < @ domain . ru . > Parse0 input: user < @ domain . ru . > Parse0 returns: user < @ domain . ru . > Parse1 input: user < @ domain . ru . > Recurse input: user @ domain . ru canonify input: user @ domain . ru Canonify2 input: user < @ domain . ru > Canonify2 returns: user < @ domain . ru . > canonify returns: user < @ domain . ru . > parse input: user < @ domain . ru . > Parse0 input: user < @ domain . ru . > Parse0 returns: user < @ domain . ru . > Parse1 input: user < @ domain . ru . > Recurse input: user @ domain . ru canonify input: user @ domain . ru Canonify2 input: user < @ domain . ru > Canonify2 returns: user < @ domain . ru . > canonify returns: user < @ domain . ru . > parse input: user < @ domain . ru . > Parse0 input: user < @ domain . ru . > Parse0 returns: user < @ domain . ru . > Parse1 input: user < @ domain . ru . > Recurse input: user @ domain . ru canonify input: user @ domain . ru Canonify2 input: user < @ domain . ru > Canonify2 returns: user < @ domain . ru . > canonify returns: user < @ domain . ru . > parse input: user < @ domain . ru . > Parse0 input: user < @ domain . ru . > Parse0 returns: user < @ domain . ru . > Parse1 input: user < @ domain . ru . > Recurse input: user @ domain . ru canonify input: user @ domain . ru Canonify2 input: user < @ domain . ru > Canonify2 returns: user < @ domain . ru . > canonify returns: user < @ domain . ru . > parse input: user < @ domain . ru . > Parse0 input: user < @ domain . ru . > Parse0 returns: user < @ domain . ru . > Parse1 input: user < @ domain . ru . > Recurse input: user @ domain . ru canonify input: user @ domain . ru Canonify2 input: user < @ domain . ru > Canonify2 returns: user < @ domain . ru . > canonify returns: user < @ domain . ru . > parse input: user < @ domain . ru . > Parse0 input: user < @ domain . ru . > Parse0 returns: user < @ domain . ru . > Parse1 input: user < @ domain . ru . > Recurse input: user @ domain . ru canonify input: user @ domain . ru Canonify2 input: user < @ domain . ru > Canonify2 returns: user < @ domain . ru . > canonify returns: user < @ domain . ru . > parse input: user < @ domain . ru . > Parse0 input: user < @ domain . ru . > Parse0 returns: user < @ domain . ru . > Parse1 input: user < @ domain . ru . > Recurse input: user @ domain . ru canonify input: user @ domain . ru Canonify2 input: user < @ domain . ru > Canonify2 returns: user < @ domain . ru . > canonify returns: user < @ domain . ru . > parse input: user < @ domain . ru . > Parse0 input: user < @ domain . ru . > Parse0 returns: user < @ domain . ru . > Parse1 input: user < @ domain . ru . > Recurse input: user @ domain . ru canonify input: user @ domain . ru Canonify2 input: user < @ domain . ru > Canonify2 returns: user < @ domain . ru . > canonify returns: user < @ domain . ru . > parse input: user < @ domain . ru . > Parse0 input: user < @ domain . ru . > Parse0 returns: user < @ domain . ru . > Parse1 input: user < @ domain . ru . > Recurse input: user @ domain . ru canonify input: user @ domain . ru Canonify2 input: user < @ domain . ru > Canonify2 returns: user < @ domain . ru . > canonify returns: user < @ domain . ru . > parse input: user < @ domain . ru . > Parse0 input: user < @ domain . ru . > Parse0 returns: user < @ domain . ru . > Parse1 input: user < @ domain . ru . > Recurse input: user @ domain . ru canonify input: user @ domain . ru Canonify2 input: user < @ domain . ru > Canonify2 returns: user < @ domain . ru . > canonify returns: user < @ domain . ru . > parse input: user < @ domain . ru . > Parse0 input: user < @ domain . ru . > Parse0 returns: user < @ domain . ru . > Parse1 input: user < @ domain . ru . > Recurse input: user @ domain . ru canonify input: user @ domain . ru Canonify2 input: user < @ domain . ru > Canonify2 returns: user < @ domain . ru . > canonify returns: user < @ domain . ru . > parse input: user < @ domain . ru . > Parse0 input: user < @ domain . ru . > Parse0 returns: user < @ domain . ru . > Parse1 input: user < @ domain . ru . > Recurse input: user @ domain . ru canonify input: user @ domain . ru Canonify2 input: user < @ domain . ru > Canonify2 returns: user < @ domain . ru . > canonify returns: user < @ domain . ru . > parse input: user < @ domain . ru . > Parse0 input: user < @ domain . ru . > Parse0 returns: user < @ domain . ru . > Parse1 input: user < @ domain . ru . > Recurse input: user @ domain . ru canonify input: user @ domain . ru rewrite: excessive recursion (max 50), ruleset canonify parse input: user @ domain . ru rewrite: excessive recursion (max 50), ruleset parse Recurse returns: user @ domain . ru Parse1 returns: $# cyrusv2 $: user @ domain . ru parse returns: $# cyrusv2 $: user @ domain . ru Recurse returns: $# cyrusv2 $: user @ domain . ru Parse1 returns: $# cyrusv2 $: user @ domain . ru parse returns: $# cyrusv2 $: user @ domain . ru Recurse returns: $# cyrusv2 $: user @ domain . ru Parse1 returns: $# cyrusv2 $: user @ domain . ru parse returns: $# cyrusv2 $: user @ domain . ru Recurse returns: $# cyrusv2 $: user @ domain . ru Parse1 returns: $# cyrusv2 $: user @ domain . ru parse returns: $# cyrusv2 $: user @ domain . ru Recurse returns: $# cyrusv2 $: user @ domain . ru Parse1 returns: $# cyrusv2 $: user @ domain . ru parse returns: $# cyrusv2 $: user @ domain . ru Recurse returns: $# cyrusv2 $: user @ domain . ru Parse1 returns: $# cyrusv2 $: user @ domain . ru parse returns: $# cyrusv2 $: user @ domain . ru Recurse returns: $# cyrusv2 $: user @ domain . ru Parse1 returns: $# cyrusv2 $: user @ domain . ru parse returns: $# cyrusv2 $: user @ domain . ru Recurse returns: $# cyrusv2 $: user @ domain . ru Parse1 returns: $# cyrusv2 $: user @ domain . ru parse returns: $# cyrusv2 $: user @ domain . ru Recurse returns: $# cyrusv2 $: user @ domain . ru Parse1 returns: $# cyrusv2 $: user @ domain . ru parse returns: $# cyrusv2 $: user @ domain . ru Recurse returns: $# cyrusv2 $: user @ domain . ru Parse1 returns: $# cyrusv2 $: user @ domain . ru parse returns: $# cyrusv2 $: user @ domain . ru Recurse returns: $# cyrusv2 $: user @ domain . ru Parse1 returns: $# cyrusv2 $: user @ domain . ru parse returns: $# cyrusv2 $: user @ domain . ru Recurse returns: $# cyrusv2 $: user @ domain . ru Parse1 returns: $# cyrusv2 $: user @ domain . ru parse returns: $# cyrusv2 $: user @ domain . ru Recurse returns: $# cyrusv2 $: user @ domain . ru Parse1 returns: $# cyrusv2 $: user @ domain . ru parse returns: $# cyrusv2 $: user @ domain . ru Recurse returns: $# cyrusv2 $: user @ domain . ru Parse1 returns: $# cyrusv2 $: user @ domain . ru parse returns: $# cyrusv2 $: user @ domain . ru Recurse returns: $# cyrusv2 $: user @ domain . ru Parse1 returns: $# cyrusv2 $: user @ domain . ru parse returns: $# cyrusv2 $: user @ domain . ru Recurse returns: $# cyrusv2 $: user @ domain . ru Parse1 returns: $# cyrusv2 $: user @ domain . ru parse returns: $# cyrusv2 $: user @ domain . ru Recurse returns: $# cyrusv2 $: user @ domain . ru Parse1 returns: $# cyrusv2 $: user @ domain . ru parse returns: $# cyrusv2 $: user @ domain . ru == Ruleset 0 (0) status 78 > С уважением, Сережка В. Панченко... e-mail: svp220569@mail.ru Пермский ФОРУМ: http://anvil.perm.ru --- GoldED+/W32 1.1.5-20020105 * Origin: Длинная веревка в пиве. (2:5054/28.1) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор Архивное /ru.unix.bsd/276446ca7cbc.html, оценка из 5, голосов 10
|