On Fri, Nov 02, 2007 at 04:16:08PM +0200, Victor Ustugov wrote:
> >>> мне нужен именно фрагмент письма с именем аттача, закодированным
> >>> согласно RFC 2231
> >> Если убираю check_rfc2047_length, то в логе:
> >> Nov 2 15:13:21 iota exim[52626]: 2007-11-02 15:13:21 1InwKu-000Dgo-MP H=(dragon.tsua.net) [212.40.34.13] Warning: This message contains attachment: =?koi8-u?Q?=F4=C5=D3=D4=20RFC2231=20=D7=20Exim=2E=20=C2=CC=C1-=C2=CC=C1-=C2=CC=C1=2Etar=2Egz?=
> >
> > при ошибках декодирования надо будет оставлять недекодированный вариант.
> > а тут получился преобразованный в quoted-printables
> >
> >> С установленным в false check_rfc2047_length:
> >> Nov 2 15:14:11 iota exim[52651]: 2007-11-02 15:14:11 1InwLi-000DhD-Bm H=(dragon.tsua.net) [212.40.34.13] Warning: This message contains attachment: Тест RFC2231 в Exim. бла-бла-бла.tar.gz
> >>
> >> В хидерах оригинального письма:
> >>
> >> Content-Type: application/octet-stream
> >> Content-Disposition: attachment; filename*=koi8-u''%F4%C5%D3%D4%20RFC2231%20%D7%20Exim%2E%20%C2%CC%C1-%C2%CC%C1-%C2%CC%C1%2Etar%2Egz
> >> Content-Transfer-Encoding: base64
> >
> > я сегодня-завтра протестирую декодирование такого имени аттача и выложу
> > исправленный вариант патча. как минимум можно игнорировать в нашем
> > случае check_rfc2047_length, заменив использование
> > expand_string(string_sprintf("${rfc2047d:%s}"... на выполнение
> > rfc2047_decode с передачей ему в качестве второго параметра не значения
> > check_rfc2047_length, а в явном виде false.
>> так и сделал. протестировать новый патч с этими заголовками:
> Content-Type: application/octet-stream
> Content-Disposition: attachment;
> filename*=koi8-u''%F4%C5%D3%D4%20RFC2231%20%D7%20Exim%2E%20%C2%CC%C1-%C2%CC%C1-%C2%CC%C1%2Etar%2Egz
> Content-Transfer-Encoding: base64
>> имя файла было корректно декодировано при обоих значениях
> check_rfc2047_length - как true, так и false.
>> патч лежит на старом месте:
>http://mta.org.ua/exim-4.67-conf/patches/exim-4.68-rfc2231/patch-src::rfc2231.patch>> старый патч я пелеложил в соседний каталог
Оттестировал. Все работает.
Виктор, у Вас есть желание побороться теперь в официальной exim-users? :)
--
Kind Regards, Alexander Shikoff
minotaur на crete.org.ua
Mob.: +380 67 946 31 49