EXIM почтовый релей

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Lomaster
проходил мимо

EXIM почтовый релей

Непрочитанное сообщение Lomaster » 2010-06-04 11:45:30

Здравствуйте!
Есть почтовый сервер exim-mysql-tpop3. Все работает.
Встала задача перевести всех пользователей на другой сервер (MS Exchange - х.х.х.х). Но переводить их надо не разом, а последовательно - по одному. Т.е. по умолчанию делать локальную доставку, и при выполнении условия доставка на другой сервер. Условие == "нахождение адреса в списке", ну например /etc/mail/new.
Подскажите как правильно написать route.
Вот куски текущего конфига

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

__вырезано___
begin routers

dnslookup:
    driver = dnslookup
    domains = ! +local_domains
    transport = remote_smtp
    ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
    no_more

system_aliases:
    driver = redirect
    allow_fail
    allow_defer
    data = ${lookup mysql{select recipients from aliases where local_part='${local_part}' and domain='${domain}'}}

userforward:
    driver = redirect
    allow_fail
    allow_defer
    data = ${lookup mysql{select recipients from userforward where local_part='${local_part}' and domain='${domain}'}}

mysqluser:
    driver = accept
    condition = ${if eq{} {${lookup mysql{select home from users where id='${local_part}' and mbox_host='${domain}' and active='Y'}}}{no}{yes}}
    transport = mysql_delivery

begin transports

remote_smtp:
    driver = smtp

mysql_delivery:
    driver = appendfile
    check_string = ""
    create_directory
    delivery_date_add
    directory = ${lookup mysql{select home from users where id='${local_part}' and mbox_host='${domain}'}}
    directory_mode = 770
    envelope_to_add
    group = mail
    maildir_format
    maildir_tag = ,S=$message_size
    message_prefix = ""
    message_suffix = ""
    mode = 0600
    quota = ${lookup mysql{select quota from users where id='${local_part}' and mbox_host='${domain}'}{${value}M}}
    quota_size_regex = S=(\d+)$
    quota_warn_threshold = 75%
    return_path_add
__вырезано___
своего ума хватило только чтобы написать

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

special_route:
  driver = manualroute
  condition = {${lookup{$local_part@$domain}lsearch{/etc/mail/new}{True}{False}}
  route_list = local_domains х.х.х.х
 transport = remote_smtp
перед userforward:

Но не работает. Заранее спасибо!

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/


Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: EXIM почтовый релей

Непрочитанное сообщение dikens3 » 2010-06-20 22:48:11

Встала задача перевести всех пользователей на другой сервер (MS Exchange - х.х.х.х).
Видимо все расстроились.
Но не работает. Заранее спасибо!
Отладка в полезных скриптах, попробуйте полистать что там при отладке и узнайте почему не работает ваше условие.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.