Страница 1 из 1

relay_to_domains для exim

Добавлено: 2010-12-13 9:06:35
r0mich
Настраиваю exim по статье про переход с sendmail на exim.
Имеется почтовый домен domain1, на который настроен почтовый сервер. Также имеется почтовый домен domain2. У него в mx прописан IP моего почтового сервера, и соответственно вся почта для domain2 идет к нам. Нужно, чтобы вся почта "@domain2" направлялась в ящик "user@domain1".
Конфиг выглядит следующим образом:

Код: Выделить всё

domainlist local_domains = @:domain1
domainlist relay_to_domains = domain2
system_filter = /usr/local/etc/exim/mail_forward.conf
system_filter_user = mailnull

Код: Выделить всё

  accept  domains       = +relay_to_domains
          endpass
          message       = "main server not know how relay to this address"
          verify        = recipient
mail_forward.conf

Код: Выделить всё

if $recipients: contains "@domain2"
then
    deliver user@domain1
endif
При получении почты на "@domain2" пишет следующую ошибку:

Код: Выделить всё

Dec 13 08:33:42 mail exim[50957]: lowest numbered MX record points to local host: domain2 (while verifying <qqq@domain2> from host (proxy.uns.ac.id) [114.6.7.5])
Dec 13 08:33:42 mail exim[50957]: H=(proxy.uns.ac.id) [114.6.7.5] I=[55.55.55.55]:25 F=<gobbledygookh39@echnopool.ru> temporarily rejected RCPT <qqq@domain2>: lowest numbered MX record points to local host
Что я делаю не так?

Re: relay_to_domains для exim

Добавлено: 2010-12-13 9:41:00
r0mich
Вот что нашел на одном из форумов:
ехим думает что домен domain2 -- чужой, потому что у него нет транпортов для приема этой почты внутрь себя. он пытается отправить его наружу, и когда спрашивает ДНС о том куда же послать это письмо выясняется что ДНС считает что это письмо именно для него (ехима). после этого он и впадает в ступор. так что либо кури ДНС либо прописывай транспорт для приема почты для domain2
Вопрос в том, как должен выглядеть транспорт и роутер для domain2

Re: relay_to_domains для exim

Добавлено: 2010-12-13 11:06:11
blade_007
t_router:
driver = accept
domains = domain2
transport = t_transport

t_transport:
driver = appendfile
maildir_format
create_directory
maildir_tag = ,S=$message_size
directory = ${lookup mysql{SELECT CONCAT(home, "/Maildir") FROM users \
WHERE id='YOUR_USER' AND domain='YOUR_PRIMARY_DOMAIN'}}
return_path_add
delivery_date_add
envelope_to_add
user = mailnull
group = mail
mode = 0600
no_mode_fail_narrower
headers_remove = "Lines"
headers_add = "Lines: $body_linecount\n"

Что-то типа такого. directory в транспортах можно задать напрямую, например, /var/spool/vmail/DOMAIN1/USER1/Maildir. Как-то так.

Re: relay_to_domains для exim

Добавлено: 2010-12-13 11:31:46
r0mich
Сделал по-другому, но пока что работает:

Код: Выделить всё

troute:
    driver = redirect
    domains = +relay_to_domains
    data = user@domain1
    user = mailnull
    group = mail
транспорт делать не пришлось. Только терзают смутные сомнения - не чреват ли такой конфиг чем-нибудь нехорошим.