The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Sendmail и локальные пользователи."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Почта / Linux)
Изначальное сообщение [ Отслеживать ]

"Sendmail и локальные пользователи."  +/
Сообщение от tt (??) on 18-Июл-12, 13:29 
Привет всем.

Есть сервак с sendmail с десятком системных юзеров, почта для которых кладется в /var/mail/user
Доменное имя используется одно, например example.com Все работает нормально, но естественно если пользователя в системе нет то получаем User Unknown. А вот как бы сделать так, чтобы если системного пользователя нет, то почта уходила на другой сервак?

Попробовал SmartHost но тогда вся почта уходит на него, не взирая на наличие системного юзера.

Спасибо

Ответить | Правка | Cообщить модератору

Оглавление

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


1. "Sendmail и локальные пользователи."  +/
Сообщение от ze6ra (??) on 18-Июл-12, 15:04 
> Привет всем.
> Есть сервак с sendmail с десятком системных юзеров, почта для которых кладется
> в /var/mail/user
> Доменное имя используется одно, например example.com Все работает нормально, но естественно
> если пользователя в системе нет то получаем User Unknown. А вот
> как бы сделать так, чтобы если системного пользователя нет, то почта
> уходила на другой сервак?
> Попробовал SmartHost но тогда вся почта уходит на него, не взирая на
> наличие системного юзера.
> Спасибо

Попробуйте
define(`LUSER_RELAY', `relay_host')dnl

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Sendmail и локальные пользователи."  +/
Сообщение от tt (??) on 18-Июл-12, 15:14 
Да вот тоже нашел эту фичу, только проблема в том что sendmail мне достался в наследство, и у меня мет .mc файлов, есть только sendmail.cf

Судя по всему в нем это должно выглядеть вот так:

# place to which unknown users should be forwarded
Kuser user -m -a<>
DLrelay.example.com

и далее в Ruleset 5


# send unrecognized local users to a relay host

R< > $+                 $: < $L > $(user $1 $)          look up user
R< $* > $+ <>           $: < > $2                       found; strip $L

Добавил в sendmail.cf перезапустил шлимыло, но все равно пишет User Unknown.
Может не в то место впихнул?
Кстати в local-host-names прописан example.com

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

5. "Sendmail и локальные пользователи."  +/
Сообщение от ze6ra (??) on 18-Июл-12, 23:43 
>[оверквотинг удален]
>        $: < $L >
> $(user $1 $)        
>  look up user
> R< $* > $+ <>        
>    $: < > $2    
>            
>        found; strip $L
> Добавил в sendmail.cf перезапустил шлимыло, но все равно пишет User Unknown.
> Может не в то место впихнул?
> Кстати в local-host-names прописан example.com

Место наверное то.
   При задании макроса  LUSER_RELAY и получении почты для несуществующего локального пользователя sendmail подставляет <relay_host> как доменную часть к имени пользователя и пытается сделать релэй на получившейся адрес.
   Если задать define(`LUSER_RELAY', `relay.example.com') то при получении сообщения для несуществующего пользователя pupkin, сендмаил перешлёт его на  pupkin@relay.example.com. Будет выполнел поиск почтовиков для домена relay.example.com и попытка доставки для пользователя. Тоесть у pupkin должен быть ящик в домене relay.example.com.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

7. "Sendmail и локальные пользователи."  +/
Сообщение от tt (??) on 20-Июл-12, 15:34 
> Место наверное то.
>    При задании макроса  LUSER_RELAY и получении почты для
> несуществующего локального пользователя sendmail подставляет <relay_host> как доменную
> часть к имени пользователя и пытается сделать релэй на получившейся адрес.
>    Если задать define(`LUSER_RELAY', `relay.example.com') то при получении сообщения для
> несуществующего пользователя pupkin, сендмаил перешлёт его на  pupkin@relay.example.com.
> Будет выполнел поиск почтовиков для домена relay.example.com и попытка доставки для
> пользователя. Тоесть у pupkin должен быть ящик в домене relay.example.com.

Спасибо за разъяснение.

Но все равно не уходит на relay.example.com
В логах выглядит так:

Jul 20 15:13:21 host sendmail[7161]: q6KBDLex007160: to=<user1@example.com>, ctladdr=<user2@example.com> (10420/10420), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30639, dsn=2.0.0, stat=Sent

При этом user1 - в системных пользователях нет, а user2 - есть.

Что-то не совсем понятно, куда вообще письмо девается.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

8. "Sendmail и локальные пользователи."  +/
Сообщение от ze6ra (??) on 23-Июл-12, 12:24 
>[оверквотинг удален]
>> Будет выполнел поиск почтовиков для домена relay.example.com и попытка доставки для
>> пользователя. Тоесть у pupkin должен быть ящик в домене relay.example.com.
> Спасибо за разъяснение.
> Но все равно не уходит на relay.example.com
> В логах выглядит так:
> Jul 20 15:13:21 host sendmail[7161]: q6KBDLex007160: to=<user1@example.com>, ctladdr=<user2@example.com>
> (10420/10420), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30639, dsn=2.0.0,
> stat=Sent
> При этом user1 - в системных пользователях нет, а user2 - есть.
> Что-то не совсем понятно, куда вообще письмо девается.

А Sendmail как-то нашел что user1 локальный. Покажите больше логов.

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

3. "Sendmail и локальные пользователи."  +/
Сообщение от sTALK_specTrum on 18-Июл-12, 18:21 
> Привет всем.
> как бы сделать так, чтобы если системного пользователя нет, то почта
> уходила на другой сервак?

Можно прописать или в aliases или в virtusertable.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Sendmail и локальные пользователи."  +/
Сообщение от tt (??) on 18-Июл-12, 22:10 
> Можно прописать или в aliases или в virtusertable.

Извини, не совсем понял, ты имеешь ввиду прописывать каждого пользователя?
Хотелось бы обойтись без этого, т.к. есть системная база с пользователями и не очень удобно всех прописывать еще куда-то.

Подозреваю что это как-то просто должно решаться, но рабочий вариант пока не нашел.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

6. "Sendmail и локальные пользователи."  +/
Сообщение от sTALK_specTrum on 20-Июл-12, 02:09 
> Извини, не совсем понял, ты имеешь ввиду прописывать каждого пользователя?
> Хотелось бы обойтись без этого, т.к. есть системная база с пользователями и
> не очень удобно всех прописывать еще куда-то.

У тебя размер базы СИСТЕМНЫХ пользователей "over 9000"?  ;)

В virtusertable можно сбацать одной строкой:
@my.domain        %1@another.domain

А насчёт удобно-неудобно - так это уже костыль получается, когда привередливый сервак в почте своего домена ковыряется - это буду, а это не ко мне. Может проще по разным доменам разнести, зависит от постановки задачи.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

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

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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