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

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

Добавлено: 2012-07-17 18:20:38
bis_64
Здравствуйте, уважаемые форумчане.
Имеется скрипт:

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

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. Но это не то, что надо. Форум просмотрел, но аналогичный пример найден не был. Кто-нибудь знает в чём дело?

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

Добавлено: 2012-07-17 19:14:03
dm07
Может вы свой роутер размещаете не в том месте? Попробуйте разместить роутер, который отвечает за копирование почты в отдельный ящик, сразу после роутера 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
Есть мысли?

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

Добавлено: 2012-07-18 9:16:20
dm07
есть мысли - раскомментируйте 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 (

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

Добавлено: 2012-07-18 14:48:23
dm07
У вас срабатывает роутер 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
то результат тот же - не работает (

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

Добавлено: 2012-07-18 17:49:41
Гость
Может все раутеры выложить?

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

Добавлено: 2012-07-19 15:35:17
dm07
Еще: включите дебаггинг и проштрудируйте его для одного сеанса 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.

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

Добавлено: 2012-07-19 16:29:54
Гость
Спасибо, буду пробовать.