LINUX.ORG.RU
ФорумAdmin

Как локализовать, кто обрезает имя вложенного в письмо файла?


0

0

Есть конфигурация: Sendmail + Cyrus Imap.

Посылаю себе через sendmail письмо с файлом во вложении с длинным киррилическим именем "Приложение 3 Программа дежурного инженер.rtf".

В случае KMail, получаю "Приложение 3 Програм%".

В случае ThunderBird получаю "Приложение 3 Программа дежурного".

Странными являются некоторые вещи: оба почтовых клиента при отправке получают во вложении файл с различной длинной отсеченного имени.

KMail точно способен получать письма с длинными именами: 1. этот файл пришел ко мне по почте через KMail без искажения названия. 2. в отправленных письмах (папочка Sent на imap-сервере) файл во вложении виден со всеми буквами в названии.

Re: Как локализовать, кто обрезает имя вложенного в письмо файла?

Так как imap протокол текстовый, то при отключённом шифровании запусти сниффер, скажем wireshark и посмотри на результат.

dimon555 ★★★★★ ()

Re: Как локализовать, кто обрезает имя вложенного в письмо файла?

Оказалось, что названия вложенных файлов образает Sendmail. Но это конкретно в SuSE:

В документации по Sendmail (/usr/share/sendmail/README), я наткнулся на такую
настройку, которая, по всей видимости, решает задачу усекания максимальной
длины имени файла во вложении:

confMAX_MIME_HEADER_LENGTH MaxMimeHeaderLength
[undefined] Maximum length of
certain MIME header field values.

В файле локальных настроек m4 для suse (/usr/share/sendmail/ostype/suse-
linux.mc) есть строка, устанавливающая максимальную длину (если честно, то я
не совсем разобрался, почему там стоит 2 числа):

define(`confMAX_MIME_HEADER_LENGTH', `256/128')dnl

Из этого файла значение попадает в sendmail.cf. Таким образом, надо либо
увеличить значение этого параметра в /etc/mail/linux.mc, либо вообще там
переоределить его на null

define(`confMAX_MIME_HEADER_LENGTH', `')dnl

Noldor ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.