Почтовые сервера EXIM, sendmail, postfix, Dovecot и инфраструктура: MTA/MDA, антиспам, web‑почта, маршрутизация и эксплуатация почтовых систем.
Модератор: xM
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
artemua
- проходил мимо
- Сообщения: 6
- Зарегистрирован: 2013-01-23 13:42:30
Непрочитанное сообщение
artemua » 2013-01-23 16:11:35
Добрый день, столкнулся с задачей сделать правильный автореспондер для екзима, чтоб он один раз отвечал каждому адресату, а не на каждое письмо. Перерыл весь гугл может невнимательно искал не могу сделать insert в mysql из exim. Сам insert есть
Код: Выделить всё
${lookup mysql{INSERT IGNORE INTO `test_insert` (`sender_mail`) VALUES ('${sender_address}')}}
он работает, его надо выполнить или тут
Код: Выделить всё
virtual_vacation:
driver = accept
condition = ${if and { {!match {$h_precedence:}{(?i)junk|bulk|list}} \
{eq {${lookup mysql{select users.on_vacation from users,domains \
where localpart = '${quote_mysql:$local_part}' \
and domain = '${quote_mysql:$domain}' \.
and users.on_vacation = '1' \
and users.domain_id=domains.domain_id}}}{1} }} {yes}{no} }
no_verify
no_expn
unseen
transport = virtual_vacation_delivery
Или же тут
Код: Выделить всё
virtual_vacation_delivery:
driver = autoreply
from = "${local_part}@${domain}"
to = ${sender_address}
subject = "Autoreply from ${local_part}@${domain}"
text = ${lookup mysql{select vacation from users,domains \
where domain='${quote_mysql:$domain}' \
and localpart='${quote_mysql:$local_part}' \
and users.domain_id=domains.domain_id}}
Подскажите гуру exim-a как его выполнить этот insert.
artemua
-
Хостинг HostFood.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/
-
ChihPih
- ст. прапорщик
- Сообщения: 568
- Зарегистрирован: 2009-09-04 12:23:30
- Откуда: Где-то в России...
-
Контактная информация:
Непрочитанное сообщение
ChihPih » 2013-01-23 16:28:09
Сделать еще один кондишен, который всегда возвращет "yes" и воткнуть в него этот запрос.
ChihPih
-
artemua
- проходил мимо
- Сообщения: 6
- Зарегистрирован: 2013-01-23 13:42:30
Непрочитанное сообщение
artemua » 2013-01-23 18:22:32
Добавил второй condition
Код: Выделить всё
virtual_vacation:
driver = accept
condition = ${if and { {!match {$h_precedence:}{(?i)junk|bulk|list}} \
{eq {${lookup mysql{select users.on_vacation from users,domains \
where localpart = '${quote_mysql:$local_part}' \
and domain = '${quote_mysql:$domain}' \.
and users.on_vacation = '1' \
and users.domain_id=domains.domain_id}}}{1} }} {yes}{no} }
##########################
condition = ${lookup mysql{INSERT IGNORE INTO `test_insert` (`sender_mail`) VALUES ('${sender_address}')}{yes}{no}}.
##########################
no_verify
no_expn
unseen
transport = virtual_vacation_delivery
Exim падает со словами
Код: Выделить всё
Exim configuration error in line 667 of /usr/local/etc/exim/configure:
"condition" option set for the second time
artemua
-
ChihPih
- ст. прапорщик
- Сообщения: 568
- Зарегистрирован: 2009-09-04 12:23:30
- Откуда: Где-то в России...
-
Контактная информация:
Непрочитанное сообщение
ChihPih » 2013-01-23 19:26:53
А ну да, это же не ACL. Тогда можно попробовать выполнить два запроса за раз, то есть сунуть нужный вам запрос в начало/конец (перед/после select) и разделить их точкой с запятой, или в операторе and сделать еще условие с запросом возвращающее "yes".
ChihPih