Богун Дмитрий wrote:
В сообщении от Суббота 26 марта 2011 19:25:59 автор Sergej Kandyla написал:
Богун Дмитрий wrote:
1) письмо все равно доставить, но вырезав аттач;
2) сгенерировать отправителю отчет (с русским языком), что его
письмо(аттач) недоставлено;
3) сгенерировать админу репорт, что из такого-то письма был удален
аттач.
Может быть стоит поступить проще - по совпадению условий перенаправить
письмо в скрипт. написанный на вашем любимом языке, а там уже можно
сделать все необходимые вещи и вырезать лишний аттач и разослать
необходимые уведомления в нужных кодировках и языках.
Это в духе
continue = ${run{.../python -s $sender_address -r $recipients}}
?
Нет, про класическое перенаправление в трубу.
Как-нибудь так.
begin acl
...
rcpt:
...
warn domains = +local_domains
local_parts = test
set acl_m_attach_cut = ${if BAD_MESSAGE_REQUIRED_PROCESSING {yes}
{no}}
...
begin routers
...
attach_cut:
driver = redirect
condition = $acl_m_attach_cut
data = |/path/to/our/processing/script
pipe_transport = address_pipe
Скорее всего acl'ка тут лишняя, все можно проверить на уровне роутера.
Спасибо большое!
Именно так и реализовал.
acl_check_rcpt:
warn domains = +local_domains
recipients = lsearch;/etc/exim/strict_recipients
set acl_m0 = catched
acl_check_data:
warn condition = ${if def:acl_m0}
condition = ${if >{$message_size}{2M} {yes}{no}}
set acl_m1 = catched
begin routers
acl_m1_router:
driver = redirect
condition = $acl_m1
data = |/etc/exim/custom/mail.py
pipe_transport = address_pipe
скрипт уже сам дальше обрабатывает месседж.
Еще можно посмотреть на system_filter скорее всего там будет проще проверить
необходимые условия, и вся логика будет собрана кучнее. ^_^
Ну а сам скрипт уже делает повторную доставку результатов своих манипуляций
над сообщением и уведомлений.
Есть и еще один путь - посмотрите на опцию transport_filter.
идея интересная, и вроде бы как более прозрачная.
ЗЫ А в чем смысл удаления уже принятого сообщения по критерию его
размера? Не решаются ли эта задача через установку необходимых квот на
почтовые ящики?
Речь не про удаление полностью сообщения, а только удаления аттача из
сообщения, с последующей нормальной достовкой.
Специфика приложения.
Хм... раз так надо...
_______________________________________________
Exim-users mailing list
[email protected]
http://mailground.net/mailman/listinfo/exim-users