Виктор, спасибо Вам большое за столь подробный ответ.
Буду переваривать и пытаться реализовать ваши советы :)
Если появятся вопросы, то тогда уже напишу в exim-users на mailground.net.
Еще раз спасибо за помощь.
Best regards,
Vlad Shpolyanskiy
23 Июл 2015 г. 19:20 пользователь "Victor Ustugov" <victor на corvax.kiev.ua>
написал:
> Vlad Shpolyanskiy wrote:
> > Коллеги, добрый день!
>> добрый
>> > Подскажите, плиз, по следующему вопросу:
> > Есть два роутера - первый и второй, идут в конфиге друг за другом,
> > каждый из которых со своим pipe транспортом.
> > Каждый роутер в отдельности работает так как ожидается, письмо проходит
> > через него и на выходе получаю то что ожидается.
> > Когда пытаюсь включить оба роутера, то в логах вижу что письмо проходит
> > через оба роутера, но по финалу не видно результатов обработки письма
> > первым роутером/транспортом (в моем случаи не вырезается атач из письма).
>> при таком подходе если в письме будут zip/rar/7z аттачи, то такие письма
> три раза пройдет через очередь?
>> очень похоже на то, как работают с почтой постфиксеры.
>>> если бы не ограничение на размер проверяемых с помощью spamc писем, то
> самое простое - избавиться как минимум от одного инжекта в очередь -
> письма с аттачами проверять одной парой роутера и транспорта, а письма
> без аттачей - другой парой.
>> в первой паре в одном фильтре использовать и altermime и spamc.
> во второй паре - только spamc.
>> если пойти дальше - можно использовать одну пару роутера и транспорта, а
> transport_filter должен менять значение в зависимости от значения
> переменных acl_m_attach_cut и local_part.
>>> вообще избавиться от повторных инжектов в очередь можно путем
> использовать штатной интеграции со spamd без дополнительных роутеров и
> транспортов, а вырезать аттачи уже на этапе доставки. правда тогда spamd
> будет проверять письма до вырезания аттачей. и это актуально, если в
> списке qqq указаны локальные домены, доставку которым можно организовать
> с помощью LDA через pope транспорт.
>>> если же использование двух повторных инжекта в очередь приемлемо, то я
> бы убрал unseen из роутера attachstrip. ибо с одной стороны в транспорте
> attachstrip_transport производится повторный инжект в
> очередь, а из-за unseen в роутере attachstrip письмо будет передано
> дальше роутеру spamcheck_router.
>> т. о. каждое письмо с zip/rar/7z аттачами должно дойти до роутера
> spamcheck_router в двух экземплярах - со срипнутыми аттачми и просто с
> аттачами.
>> еще указание названия протокола attach-strip смысла не имеет. разве что
> оно где-то используется при присвоении значения переменной
> acl_m_attach_cut. хотя скорее всего ей значение присваивается в
> зависимости от наличия аттачей в письме.
>>> и вся эта конструкция скорее всего не сработает, если имя аттача будет
> закодировано не в quoted-printable или base64, а в соответствии с
> RFC2231, как и положено. у altermime с этим проблем нет, но exim из
> коробки вроде до сих пор не поддерживает RFC2231.
>>> в любом случае я бы в конце регекспа таки сделал привязку к концу
> строки. мало ли, где в средине имени аттача может быть .zip или .rar.
> например, из писем будут удалены аттачи с именами типа www.rarlab.com.png
>> ну и чтобы тестировать altermime с таким же синтаксисом из командной
> строки, то регексп придется еще и в кавычки взять.
>> т. о. получится:
>> transport_filter = \
> "/usr/local/bin/altermime --input=- --remove='\.(zip|rar|7z)$'"
>>> p. s. список рассылки exim-conf на mta.org.ua создан для обсуждения
> вопросов, связанных с одноименным конфигуратором exim'а. посему тут мало
> подписчиков, в последнее время кроме редких анонсов новых фичей или
> пофикшенных багов тут пролетают разве что анонсы патчей и механизмов
> сборки новых версий exim для нескольких ОС.
>> общие вопросы по exim скорее всего лучше задавать в
>exim-users на mailground.net, если с инглишем всё хорошо, то в
>exim-users на exim.org>>> > Кусок конфига ниже.
> >
> > Первый роутер/транспорт:
> >
> > attachstrip:
> > driver = accept
> > domains = +qqq
> > transport = attachstrip_transport
> > condition = "${if and { {eq{$acl_m_attach_cut}{1}}
> > {!eq{$local_part}{xxx}} } {1}{0}}"
> > no_verify
> > unseen
> >
> > attachstrip_transport:
> > driver = pipe
> > command = /usr/local/sbin/exim -oMr attach-strip -bS
> > use_bsmtp = true
> > transport_filter = "/usr/local/bin/altermime --input=-
> > --remove=\.(zip|rar|7z)"
> > home_directory = "/tmp"
> > current_directory = "/tmp"
> > user = mailnull
> > group = mail
> > log_output = true
> > return_fail_output = true
> >
> > Второй роутер/транспорт:
> >
> > spamcheck_router:
> > no_verify
> > condition = "${if and { {!def:h_X-xxx-Spam:} \
> > {!eq {$received_protocol}{spam-scanned}} \
> > { < {$message_size}{400K}} } {1}{0}}"
> > driver = accept
> > transport = spamcheck
> >
> >
> > spamcheck:
> > driver = pipe
> > timeout_defer = true
> > command = /usr/local/sbin/exim -oMr spam-scanned -bS
> > use_bsmtp = true
> > transport_filter = "/usr/local/bin/spamc -f -s 400000"
> > home_directory = "/tmp"
> > current_directory = "/tmp"
> > user = mailnull
> > group = mail
> > log_output = true
> > return_fail_output = true
> > return_path_add = false
> > message_prefix =
> > message_suffix =
> >
> > Спасибо!
> >
> >
> > _______________________________________________
> > exim-conf mailing list
> > exim-conf на mta.org.ua> > http://mta.org.ua/mailman/listinfo/exim-conf> > http://mta.org.ua/exim-conf/> > http://mta.org.ua/exim-conf/m4/README> > rsync://rsync.mta.org.ua/exim-conf/> >
>>> --
> Best wishes Victor Ustugov mailto:victor на corvax.kiev.ua> public GnuPG/PGP key: http://victor.corvax.kiev.ua/corvax.asc> ICQ UIN: 371808614 JID: corvax_at_nb на jabber.corvax.kiev.ua> nic-handle: CRV-UANIC
>> _______________________________________________
> exim-conf mailing list
>exim-conf на mta.org.ua>http://mta.org.ua/mailman/listinfo/exim-conf>http://mta.org.ua/exim-conf/>http://mta.org.ua/exim-conf/m4/README>rsync://rsync.mta.org.ua/exim-conf/----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mta.org.ua/pipermail/exim-conf/attachments/20150723/0a21fe60/attachment-0001.html>