Итак...
Автоматический ответ если юзер в отпуске.
Пример для эксима с виртуальным юзерам в БД Mysql (синий текст-то, что нужно добавить).
В роутах после проверки на спам, перед основным роутом добавляем(порядок роутов важен):
Далее в транспортах (здесь порядок значения не имеет т.к. всегда выбирается только 1 транспорт):.............................................
transport = mysql_spam_delivery
no_more
vacation_autoreply:
driver = accept
domains = +local_domains
condition = ${lookup mysql{SELECT active FROM vacation WHERE \
domain='${quote_mysql:$domain}' AND \
email='${quote_mysql:$local_part@$domain}' AND \
active='1'}{true}{false}}
senders = " ! ^.*-request@.*:\
! ^owner-.*@.*:\
! ^postmaster@.*:\
! ^listmaster@.*:\
! ^mailer-daemon@.*\
! ^root@.*\
! ^noreply@.*"
no_expn
no_verify
transport = vacation_autoreply
unseen
mysqluser:
driver = accept
domains = +local_domains
........................
Дамп mysql таблицы:vacation_autoreply:
driver = autoreply
to = $sender_address
from = "$local_part@$domain"
once = /var/mail/exim/vacation/$local_part.db
once_repeat = 7d
subject = Re: =?UTF-8?B?KNCw0LLRgtC+LdC+0YLQstC10YIpINCvINCyINC+0YLQv9GD0YE=?= \
=?UTF-8?B?0LrQtSBcIChhdXRvcmVwbHkpIEkgYW0gb24gdmFjYXRpb24=?=
text = "\
Здравствуйте $h_from\n\n\
Это - автоматический ответ на Ваше письмо $original_local_part@$original_domain \
Не стесняйтесь посылать дополнительную\n\
почту, поскольку это уведомление высылается 1 раз каждые 7 дней.\n\n\
English version below\n\n\
Dear $h_from\n\n\
This is an automatic reply to Your message for $original_local_part@$original_domain \
Feel free to send additional\n\
mail, as only this one notice will be generated once every 7 \
days."
Хеадер предварительно закодирован в UTF-8 поэтому проблем с отображением не будет.CREATE TABLE vacation (
email varchar(255) NOT NULL default '',
subject varchar(255) NOT NULL default '',
body text NOT NULL,
cache text NOT NULL,
domain varchar(255) NOT NULL default '',
created datetime NOT NULL default '0000-00-00 00:00:00',
active tinyint(4) NOT NULL default '1',
PRIMARY KEY (email),
KEY email (email)
) TYPE=MyISAM COMMENT='Postfix Admin - Virtual Vacation';
Ответ высылается 1 раз в 7 дней т.е. если один и тот же юзер отправит 100 мессаг нашему юзеру то он получит только 1 авто ответ, следующий - через 7 дней ( если пошлет ему письмо еще раз) и т.д.. Опция которая регулирует через сколько слать ответ - once_repeat = 7d
Не забываем создать папочку /var/mail/exim/vacation и дать на нее права юзеру от которого работает эксим, так же формат создания файла данных можно изменить на user@domain.ru -
Пример ответа который получит юзер:once = /var/mail/exim/vacation/$local_part@$domain.db
Заголовок: Re: (авто-ответ) Я в отпуске \ (autoreply) I am on vacation
Само письмо:
Здравствуйте xxx <xxx@gmail.com>
Это - автоматический ответ на Ваше письмо xxx@xxx.ru Не стесняйтесь посылать дополнительную
почту, поскольку это уведомление высылается 1 раз каждые 7 дней.
English version below
Dear xxx <xxx@gmail.com>
This is an automatic reply to Your message for xxx@xxx.ru Feel free to send additional
mail, as only this one notice will be generated once every 7 days.