URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 85107
[ Назад ]

Исходное сообщение
"header_checks много непонятного"

Отправлено DzenK , 30-Апр-09 12:03 
почему то не работает это правило в master.cf,и что прописать в header_checks ,чтобы он понимал русские файлы...??? а то к примеру,privet.doc редиректит,а привет.doc уже нет, помогите плиз
прописла в master.cf
192.168.0.153:smtp      inet  n       -       n       -       -       smtpd
  -o header_checks=regexp:/usr/local/etc/postfix/header_checks
195.239.X.X:smtp      inet  n       -       n       -       -       smtpd

postconf -n
alias_database = hash:/etc/mail/aliases
alias_maps = hash:/etc/mail/aliases
command_directory = /usr/local/sbin
config_directory = /usr/local/etc/postfix
daemon_directory = /usr/local/libexec/postfix
debug_peer_level = 2
html_directory = no
inet_interfaces = all
local_recipient_maps =
mail_owner = postfix
mailq_path = /usr/local/bin/mailq
manpage_directory = /usr/local/man
mydestination = $myhostname, localhost.$mydomain, localhost, bars2.com
mydomain = bars2.com
myhostname = mail.bars2.com
mynetworks = 192.168.0.0/24, 127.0.0.0/8
mynetworks_style = class
myorigin = $mydomain
newaliases_path = /usr/local/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = no
relay_domains = $mydestination
sample_directory = /usr/local/etc/postfix
sendmail_path = /usr/local/sbin/sendmail
setgid_group = maildrop
smtpd_recipient_restrictions = permit_mynetworks,reject_unknown_recipient_domain,reject_unauth_destination,reject_unauth_pipelining,reject_invalid_hostname,reject
transport_maps = hash:/usr/local/etc/postfix/transport
unknown_local_recipient_reject_code = 550


Содержание

Сообщения в этом обсуждении
"header_checks много непонятного"
Отправлено Sarge , 01-Май-09 01:48 
>почему то не работает это правило в master.cf,и что прописать в header_checks
>,чтобы он понимал русские файлы...??? а то к примеру,privet.doc редиректит,а привет.doc
>уже нет, помогите плиз

Это проблема кодировок. Постфикс сравнивает символы в правилах с символами в письме в том виде, в каом они там написаны. Если в письме слово "привет.doc" написано в другой кодировке или вообще как-то закодировано, то совпадения не будет. Вам надо либо в файле header_checks указать все возможные варианты, либо найти какой-нибудь сторонний фильтр, который умеет перекодировать.


"header_checks много непонятного"
Отправлено DzenK , 04-Май-09 09:36 
в смысле все варианты???

"header_checks много непонятного"
Отправлено Sarge , 04-Май-09 13:19 
т.е. во всех возможных кодировках, включая закодированные. Откройте письмо в исходном виде и посмотрите как там имя вложения выглядит. Как пример:

Content-Type: image/jpeg;
    name="=?windows-1251?B?z+7k8e7r7fP1X/Tu7S5qcGc=?="

и это всего-лишь один из возможных вариантов.


"header_checks много непонятного"
Отправлено DzenK , 04-Май-09 15:51 
и как это будет выглядеть? всмысле какой синтаксис?

"header_checks много непонятного"
Отправлено Sarge , 04-Май-09 17:11 
что-то типа:

/^Content-.+;.*(file)?name="(=?windows-1251?B?z+7k8e7r7fP1X/Tu7S5qcGc=?=)"$/
reject  ATTACHMENT-REJECT:  Sorry, attachment .$2 not allowed

только это надо писать в файле mime_header_checks.regexp и в master.cf дописать -o mime_header_checks=regexp:/path/to/mime_header_checks.regexp
Хотя если у вас и privet.doc работает в header_checks, то возможно и это правило там же заработает.


"header_checks много непонятного"
Отправлено DzenK , 05-Май-09 12:00 
Спасибки Sarge, буду пробовать:))

"header_checks много непонятного"
Отправлено Maksim V Sataev , 04-Май-09 17:22 
>и как это будет выглядеть? всмысле какой синтаксис?

man header_checks!

в разных кодировках привет.doc списком забей в header_checks:
/^Content-Type: application/msword; name="здесь имя вложения"/i

и /etc/postfix/main.cf:
           header_checks = regexp:/etc/postfix/header_checks

Serge же написал, подробнее некуда.