[exim-conf] вопрос по pipe транспорту

Vlad Shpolyanskiy vlad.shpolyanskiy на gmail.com
Чт Июл 23 19:42:00 EEST 2015


Виктор, спасибо Вам большое за столь подробный ответ.
Буду переваривать и пытаться реализовать ваши советы :)
Если появятся вопросы, то тогда уже напишу в 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>


Подробная информация о списке рассылки exim-conf