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 тоже не встречаются?