Взаимодействие системного фильтра с внешними программами

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
govor
проходил мимо
Сообщения: 3
Зарегистрирован: 2010-03-03 20:54:15

Взаимодействие системного фильтра с внешними программами

Непрочитанное сообщение govor » 2010-03-03 21:24:56

Здравствуйте. Нашел следующую переписку, на данный момент для меня этот вопрос актуален.
Мои вопросы последуют ниже...
Marquez » 2007-06-19 7:57:22
А по русски?

Куда уж более. При отправке почты на определенный список адресов, письма не уходят пока ответсвенное лицо (руководство, безопасность - не важно) не ознакомились с ними и не дали виртуальное добро в виде каких-либо действий с почтой (фантазия - отсылка "1" для разрешения на определенный адрес). В любом случая, я сомневаюсь, что exim это сможет реализовать.
Marquez
рядовой

Сообщения: 20
Зарегистрирован: 2007-06-16 0:03:29
Вернуться к началу

lissyara » 2007-06-19 12:47:42
тока внешним скриптом, которой на рас крутится к экзиму.
пишется такой скрипт тоже с полпинка.
========
тока ты не напишешь, т.к. документацию не читаешь, а выдвигаешь предположения
Мои вопросы:
Фильтр для exim'а не доставляется почта после проверки.
Есть необходимость разрешения\запрета исходящих писем.
message_id хранятся в базе mysql.
1.есть программа на С которая возвращает
T=system_filter_pipe defer (0): Child process of system_filter_pipe transport returned 75 (could mean temporary error) from command: /bin/sh
если письмо неразрешено
и 0 если письмо разрешено
2. system_filter
Попробовал сделать таким образом:

Код: Выделить всё

#Exim filter
if error_message then finish endif
pipe "/etc/exim/filter/filter \"$message_id\""
if delivered then
     pipe "/etc/exim/exim -M \"$message_id\""
endif
на 1-ой доставке pipe "/etc/exim/filter/filter \"$message_id\"" идетдобавление записи в таблицу.
проходит несколько итераций, письмо разрешено оператором.
возвращается 0
письмо уходит но:
  • 2010-03-03 21:07:41 Start queue run: pid=21175
    2010-03-03 21:07:41 1NmpxW-0005Bo-E1 original recipients ignored (system filter)
    2010-03-03 21:07:41 1NmpxW-0005Bo-E1 => |/etc/exim/filter/filter "$message_id" <system-filter> T=system_filter_pipe
    2010-03-03 21:07:41 1NmpxW-0005Bo-E1 Completed
    2010-03-03 21:07:41 1NmqtU-0005R1-SG original recipients ignored (system filter)
    2010-03-03 21:07:41 1NmqtU-0005R1-SG => |/etc/exim/filter/filter "$message_id" <system-filter> T=system_filter_pipe
    2010-03-03 21:07:41 1NmqtU-0005R1-SG Completed
    2010-03-03 21:07:41 End queue run: pid=21175
соответственно оригинальные получатели проигнорированы...
пробовал вместо pipe "/etc/exim/exim -M \"$message_id\"" поставить: deliver $recipients работает когда получатель 1, если больше то ошибка(deliver работает только с 1 адресом).
читал доку по exim, но наверное плохо читал:(
может быть есть способ отправить письмо минуя системный фильтр?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35066
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Взаимодействие системного фильтра с внешними программами

Непрочитанное сообщение Alex Keda » 2010-03-04 9:37:44

копируйте оригинальных получателей в заголовок типа

Код: Выделить всё

X-Old-Recipients: 
на более ранних стадиях, и при разрешении прохождения письма вертайте на место...
например.
========
а вообще у вас всё очень мутно описано... я больше 5 минут вкуривал что вы сделали, и как оно работает - редкий случай =))
Убей их всех! Бог потом рассортирует...

govor
проходил мимо
Сообщения: 3
Зарегистрирован: 2010-03-03 20:54:15

Re: Взаимодействие системного фильтра с внешними программами

Непрочитанное сообщение govor » 2010-03-10 8:57:20

поразбирался со всем этим делом, то что я вам написал оно в принципе не работает, ибо возвращаемые коды временных ошибок это уже статус delivered.
Интересует ваше мнение, каким образом вы бы подключили стороннюю проверку писем на разрешение\запрет их дальнейшей пересылки?

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35066
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Взаимодействие системного фильтра с внешними программами

Непрочитанное сообщение Alex Keda » 2010-03-10 10:54:35

смотря какой интерфейс для разрешения прохождения будет выбран.
из того что в голову приходит слёту - складывать в директорию, до кучи в базу класть id письма.
дальше как-то решают пропускаем или нет, если да - достаём из директории и кладём в очередь на доставку.
вопрос как решать можно или нет.
проще всего - копия письма с изменённой темой и обратным адресом на какой-тоадрес, там решают, и либо отвечают на него либо нет.
в теме идентификатор - по нему опредляем письмо которое размораживать
Убей их всех! Бог потом рассортирует...

govor
проходил мимо
Сообщения: 3
Зарегистрирован: 2010-03-03 20:54:15

Re: Взаимодействие системного фильтра с внешними программами

Непрочитанное сообщение govor » 2010-03-10 14:29:02

Спасибо, структура базы уже готова, программка написана, а так веб-интерфейс будет для оператора. Я думал над этим, значит плохо думал...