в acl_check_mime такой код
Код: Выделить всё
deny message = Your message contain deny file extention $mime_filename!
condition = ${if match{$mime_filename}{\N(?i)\.zip$\N}}
decode = default
condition = ${if match{${run{/usr/bin/unzip -l $mime_decoded_filename}}}{\N(?i)\.(exe|com|vbs|bat|pif|scr|hta|js|cmd|chm|cpl|jsp|reg|vbe|lnk|dll|sys)\n\N}}
deny message = Your message contain deny file extention $mime_filename!
condition = ${if match{$mime_filename}{\N(?i)\.rar$\N}}
decode = default
condition = ${if match{${run{/usr/bin/unrar l $mime_decoded_filename}}}{\N(?i)\.(exe|com|vbs|bat|pif|scr|hta|js|cmd|chm|cpl|jsp|reg|vbe|lnk|dll|sys)\n\N}}
log_message = forbidden attachment: filename=$mime_filename, content-type=$mime_content_type, recipients=$recipients
accept
для примера из заголовков письма:
короткое имя архива проверяется и письмо блочится:
Content-Type: application/x-zip-compressed;
name="=?windows-1251?Q?=F1=E2=E5=F0=EA=E0=2Ezip?="
Content-transfer-encoding: base64
Content-Disposition: attachment;
filename="=?windows-1251?Q?=F1=E2=E5=F0=EA=E0=2Ezip?="
длинное имя архива пропускается и письмо доставляется:
Content-Type: application/x-zip-compressed;
name="=?windows-1251?Q?=D1=E2=E5=F0=EA=E0_=E1=EB=FF=F2=FC_=F1=F3=EA=E0_=F0=E0=E7=F0=EE=E4=E8=F1=FC!=2Ezip?="
Content-transfer-encoding: base64
Content-Disposition: attachment;
filename="=?windows-1251?Q?=D1=E2=E5=F0=EA=E0_=E1=EB=FF=F2=FC_=F1=F3=EA=E0_=F0=E0=E7=F0=EE=E4=E8=F1=FC!=2Ezip?="