Exim + mysql: autoreply
Добавлено: 2007-09-14 18:28:15
Нашел в интернете код роутера и транспорта для организации "vacation autoreply", основанный на файлах. Решил переделать его под свою БД mysql:
Проверил - работает. Только вот смущают меня эти lookups в плане производительности. Можно ли как-то получить одним запросом данные в условии (например, в роутере) и записать их в переменные? Чтобы в транспорте можно было пользоваться сразу готовой, скажем, "$autoreply_text".
з.ы. Может еще чего важного не хватает - посоветуйте плз
Код: Выделить всё
router_autoreply:
driver = accept
condition = ${lookup mysql{ \
SELECT u.is_autoreply_enabled \
FROM users u INNER JOIN domains d ON u.domain_id=d.domain_id \
WHERE u.user_name='${quote_mysql:$local_part}' AND d.domain_name='${quote_mysql:$domain}' \
AND u.is_smtp_enabled=1 AND u.is_autoreply_enabled=1 AND u.autoreply_text IS NOT NULL \
}{true}{false}}
no_expn
no_verify
transport = transport_autoreply
unseen
transport_autoreply:
driver = autoreply
from = $local_part@$domain
to = $sender_address
subject = "Re: $h_subject"
text = ${lookup mysql{ \
SELECT u.autoreply_text \
FROM users u INNER JOIN domains d ON u.domain_id=d.domain_id \
WHERE u.user_name='${quote_mysql:$local_part}' AND d.domain_name='${quote_mysql:$domain}' \
AND u.is_smtp_enabled=1 AND u.is_autoreply_enabled=1 AND u.autoreply_text IS NOT NULL \
}}з.ы. Может еще чего важного не хватает - посоветуйте плз