Ошибки при составлении скрипта в Exim v.4

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

Модератор: xM

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

Ошибки при составлении скрипта в Exim v.4

Непрочитанное сообщение bis_64 » 2012-07-17 18:20:38

Здравствуйте, уважаемые форумчане.
Имеется скрипт:

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

domainlist  123 = boss.ru : eagle.ru 

copy_message:
    driver = redirect
    unseen
    domains = +123
    data = test@test.ru
Смысл скрипта в том, чтобы сообщения с доменов boss.ru и eagle.ru направлялись на адрес test@test.ru, чего не происходит. В случае, если установить значение

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

domain = * 
все письма со всех доменов будут отправляться на адрес test@test.ru. Но это не то, что надо. Форум просмотрел, но аналогичный пример найден не был. Кто-нибудь знает в чём дело?

Хостинговая компания 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/

dm07
сержант
Сообщения: 222
Зарегистрирован: 2008-07-27 19:58:25
Откуда: Уфа
Контактная информация:

Re: Ошибки при составлении скрипта в Exim v.4

Непрочитанное сообщение dm07 » 2012-07-17 19:14:03

Может вы свой роутер размещаете не в том месте? Попробуйте разместить роутер, который отвечает за копирование почты в отдельный ящик, сразу после роутера dnslookup.

Гость
проходил мимо

Re: Ошибки при составлении скрипта в Exim v.4

Непрочитанное сообщение Гость » 2012-07-18 7:18:23

Роутер разместил после dnslookup. Выглядит он так сейчас:

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

domainlist redirect_man = boss.ru : eagle.ru 

copy_message:
    driver = redirect
#  unseen
    domains = +redirect_man
    data = test@test.ru
Если поставить в поле домен значение все домены

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

domains = *
то работает - шлёт все письма домена на адрес test@test.ru. Какая ошибка в этой строке -

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

domains = +redirect_man
Есть мысли?

dm07
сержант
Сообщения: 222
Зарегистрирован: 2008-07-27 19:58:25
Откуда: Уфа
Контактная информация:

Re: Ошибки при составлении скрипта в Exim v.4

Непрочитанное сообщение dm07 » 2012-07-18 9:16:20

есть мысли - раскомментируйте unseen.

Гость
проходил мимо

Re: Ошибки при составлении скрипта в Exim v.4

Непрочитанное сообщение Гость » 2012-07-18 13:58:31

Скрипт выглядит теперь так:

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

domainlist redirect_man = ya.ru : yandex.ru

copy_message:
     driver = redirect
     unseen
     domains = +redirect_man
     data = test@test.ru
По прежнему не работает - не отправляет письма на test@test.ru (

dm07
сержант
Сообщения: 222
Зарегистрирован: 2008-07-27 19:58:25
Откуда: Уфа
Контактная информация:

Re: Ошибки при составлении скрипта в Exim v.4

Непрочитанное сообщение dm07 » 2012-07-18 14:48:23

У вас срабатывает роутер dnslookup, т.к. в нем у вас скорее всего условие "domains = ! +local_domains", в результате чего далее срабатывает транспорт smtp. Вы хотите, чтобы роутер обрабатывал домены ya.ru и yandex.ru. Поставьте роутер copy_message до dnslookup.

Гость
проходил мимо

Re: Ошибки при составлении скрипта в Exim v.4

Непрочитанное сообщение Гость » 2012-07-18 17:40:56

Я правильно понимаю - поставить раутер copy_message сразу после

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

begin routers
?

Гость
проходил мимо

Re: Ошибки при составлении скрипта в Exim v.4

Непрочитанное сообщение Гость » 2012-07-18 17:46:05

Если действительно после

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

begin routers
то результат тот же - не работает (


dm07
сержант
Сообщения: 222
Зарегистрирован: 2008-07-27 19:58:25
Откуда: Уфа
Контактная информация:

Re: Ошибки при составлении скрипта в Exim v.4

Непрочитанное сообщение dm07 » 2012-07-19 15:35:17

Еще: включите дебаггинг и проштрудируйте его для одного сеанса SMTP получения/отправки письма с вашим искомым доменом. Чтобы включить дебаггинг
1) останавливаете exim полностью, т.е. лучше делать в нерабочее время
2) exim -bd -d+all > /var/log/exim-debug.log 2>&1
Отправляете письмо, жмете Ctrl+C, т.е. останавливаете exim, дальше смотрите /var/log/exim-debug.log на предмет обработки вашего роутера unseen, exim вам покажет, как обрабатываются ваши условия domains. В идеале, чтобы в отладочном файле была информация только касательно вашей сессии SMTP (т.е. чтобы туда не попали SMTP-шум от других соединений, в т.ч. спама). Можно этого достичь, например, на уровне фаерволла, разрешив там подключение на порт SMTP только от вашего хоста ну или повесив exim на нестандартный порт. Но это решать вам. Вообще, дебаггинг дело не быстрое, но потратив 1 раз время, вы лучше поймете как работает эта машинка exim.