У меня проблема с расшифровкой имени файла вложения электронной почты. В настоящее время я использую JavaMail 1.4.2. Имя файла "Żółw.rtf" "(это совершенство для Turtle.rtf). Почта отправляется с использованием Mail.app (что кажется весьма важным). Важными заголовками являются:
--Apple-Mail-19-721116558
Content-Disposition: attachment;
filename*=utf-8''Z%CC%87o%CC%81%C5%82w.rtf
Content-Type: text/rtf;
x-unix-mode=0644;
name="=?utf-8?Q?Z=CC=87o=CC=81=C5=82w=2Ertf?="
Content-Transfer-Encoding: 7bit
Соответствующий javax.mail.Part.getFileName () возвращает" =? utf-8? Q? Z = CC = 87o = CC = 81 = C5 = 82w = 2Ertf? = ", который после применения MimeUtility.decodeText будет: «ZÃáoÃÅ≈Çw.rtf». Ясно, что не оригинал :).
Для сравнения, MimeUtility.encodeText возвращает:
=?UTF-8?Q?=C5=BB=C3=B3=C5=82w.rtf?=
в отличие от:
=?utf-8?Q?Z=CC=87o=CC=81=C5=82w=2Ertf?=
, полученного по электронной почте.
Согласно моим исследованиям, буква «Ż» может быть кодируется двумя способами: одной буквой или буквой «Z» + точка над ним. MimeUtility.encodeText использует первое, Mail.app - второе.
Однако я хочу иметь возможность декодировать оба. Есть ли способ декодировать имя файла при отправке из Mail.app с помощью JavaMail? А может есть какая-то другая библиотека?
Спасибо! можно закодировать двумя способами: одной буквой или буквой «Z» + точкой над ним. MimeUtility.encodeText использует первое, Mail.app - второе.
Однако я хочу иметь возможность декодировать оба. Есть ли способ декодировать имя файла при отправке из Mail.app с помощью JavaMail? А может есть какая-то другая библиотека?
Спасибо! может быть закодирован двумя способами: одной буквой или буквой "Z" + точка над ним. MimeUtility.encodeText использует первое, Mail.app - второе.
Однако я хочу иметь возможность декодировать оба. Есть ли способ декодировать имя файла при отправке из Mail.app с помощью JavaMail? А может есть какая-то другая библиотека?
Спасибо! Адам