Страница 1 из 1

Как научить exim получать только определенные вложения?

Добавлено: 2007-11-30 16:28:25
Сергей Пупкин
Хочу разрешить на пересылку только определенные вложения.
Делаю это так:

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

acl_check_data:
  # Разрешенные аттачменты
  accept
        demime = html:htm:txt:rtf:doc:xls:ppt:mdb:pdf:rar:zip:jpeg:jpg:dwg:psd:ai:vsd:tiff:tif:gif:bmp
 
  # Запрещаем все остальные
  deny  message = This message contains an unwanted file extension ($found_extension)
        demime = *
эта штука работает, но вот незадача, письма без вложений не пускает!
пробовал впихнуть:

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

condition       = ${if <{$message_size}{30k} {yes}{no}}
, но это как то не правильно

Может подскажет кто как это реализовать?

Re: Как научить exim получать только определенные вложения?

Добавлено: 2007-11-30 19:33:14
Alex Keda
кнопочку коде надо юзать

Re: Как научить exim получать только определенные вложения?

Добавлено: 2007-12-01 11:02:51
Сергей Пупкин
lissyara писал(а):кнопочку коде надо юзать
А можно чуть подробнее, на примере желательно.



п.с. Спасибо за отклик.

Re: Как научить exim получать только определенные вложения?

Добавлено: 2007-12-01 16:02:37
Alex Keda
значит надо либо кондишен с определением - есть ли вообще вложение, либо отдельной акл - повыше этой, пропустить без вложений

Re: Как научить exim получать только определенные вложения?

Добавлено: 2007-12-01 18:21:35
Сергей Пупкин
lissyara писал(а):значит надо либо кондишен с определением - есть ли вообще вложение, либо отдельной акл - повыше этой, пропустить без вложений
Вот я и не могу никак разрюхать как обозначить (без вложения). Могу только размером письма, а это непровильно. Подскажите люди добрые как это выглядит то?

Re: Как научить exim получать только определенные вложения?

Добавлено: 2007-12-03 22:13:12
Сергей Пупкин
Ниужели никто не знает???
Полезная фича ведь. Кламав то не все проверяет.

Re: Как научить exim получать только определенные вложения?

Добавлено: 2007-12-04 0:58:41
Alex Keda
документация знает.
идентификатор страницы на сайте - 1200

Re: Как научить exim получать только определенные вложения?

Добавлено: 2007-12-09 11:12:03
Сергей Пупкин
Нафига тогда форум, если всех в доку отправляют.
Почитал и не нашел, как обозначить "без вложения".
Ткните хоть пальцем тогда.

Re: Как научить exim получать только определенные вложения?

Добавлено: 2007-12-09 11:16:35
Alex Keda
как ты думаешь, вот чисто по человечески, как скоро тебе надоест отвечать на одни и теже вопросы людям не желающим читать документацию?
Почему же ты думаешь что ты особенный, и надоест только тебе?
==========
вот мне откровенно лень лезть и искать нужный раздел. На это у меня уйдёт минуты три, мне их жалко.
За прошедшие 10 дней, с тех пор как ты поднял тему, можно было прочитать всю документацию и найти нужный раздел.
Тебе лень искать? Мне тоже лень. В расчёте =)

Re: Как научить exim получать только определенные вложения?

Добавлено: 2007-12-09 14:29:25
dikens3
acl_check_data:
# Разрешенные аттачменты
accept
demime = html:htm:txt:rtf:doc:xls:ppt:mdb:pdf:rar:zip:jpeg:jpg:dwg:psd:ai:vsd:tiff:tif:gif:bmp

# Запрещаем все остальные
deny message = This message contains an unwanted file extension ($found_extension)
demime = *
Ладно, возьмусь прояснить суть.
Уважаемый Сергей. Exim проверяет все условия, начиная с вернего и выполняет accept или deny в зависимости от условий.

Что делают приведённые Вами условия:

Письмо поступает на обработку в acl_check_data.
1. Проверяется наличие вложения, и если вложение, указанное в списке, есть, данные передаются в следующие цепочки (Т.е. происходит выход из обработки acl_check_data.)

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

accept
        demime = html:htm:txt:rtf:doc:xls:ppt:mdb:pdf:rar:zip:jpeg:jpg:dwg:psd:ai:vsd:tiff:tif:gif:bmp
2. 2. Остальные письма, имеющие вложения, но не перечисленные в списке или же вообще без вложений - блокируются.

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

  # Запрещаем все остальные
  deny  message = This message contains an unwanted file extension ($found_extension)
        demime = *
Как правильно можно сделать?

Вариант 1:
1. Пропускать письма без вложений.
2. Пропускать письма с перечисленными вложениями.
3. Остальное блокировать.

Вариант 2:
1. Блокировать письма с вложениями, не указанными в списке
2. Остальные письма принимать.

По второму варианту могу примерно набросать конфиг:

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

acl_check_data:
# Блокируем неразрешенные аттачменты
  deny message = This message contains an unwanted file extension ($found_extension)
        !demime = html:htm:txt:rtf:doc:xls:ppt:mdb:pdf:rar:zip:jpeg:jpg:dwg:psd:ai:vsd:tiff:tif:gif:bmp

# Пропускаем все остальные письма
accept
P.S. Аккуратнее с такими фильтрами ибо:
1. Формат .odt не такой уж без известный.
2. Форматы docx, xlsx и т.п. в офисе 2007 тоже не встречаются?

Re: Как научить exim получать только определенные вложения?

Добавлено: 2007-12-13 11:03:52
Сергей Пупкин
Спасибо тебе dikens3 огромное!!!
Я енто разрюхал еще в выходные(спасибо блин lissyara за отфутболивание в доку), а на форум зашел только сегодня и был приятно удивлен подробным ответом. Может еще пригодится кому, полезная фича.

Re: Как научить exim получать только определенные вложения?

Добавлено: 2007-12-13 11:38:40
Сергей Пупкин
Да, забыл сказать. Так не будет работать, потому что если в письме нет вложения, то оно тоже не пройдет.

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

acl_check_data:
# Блокируем неразрешенные аттачменты
  deny message = This message contains an unwanted file extension ($found_extension)
        !demime = html:htm:txt:rtf:doc:xls:ppt:mdb:pdf:rar:zip:jpeg:jpg:dwg:psd:ai:vsd:tiff:tif:gif:bmp

# Пропускаем все остальные письма
accept

Re: Как научить exim получать только определенные вложения?

Добавлено: 2007-12-13 14:30:19
Alex Keda
доки читать - это хорошо.
это моск заставляет работать.
а чем больше он пашет, даже когда совсем опух - тем лучше начинает работать.
========
тока вот к чему это я... :)))