Подскажите, есть ли нечто очень высокоуровневое, чтобы выполнить такую задачу: взять e-mail сообщение, например, из файла или stdin целиком, и на выходе получить текст письма, в единой кодировке UTF-8, например.
Под текстом имеется ввиду именно тот текст, который мы бы видели, просмотрев это письмо в почтовом клиенте. В готовом виде, то есть, при необходимости, извлеченный из multipart mime, перекодированный из base64/QP/UUE, выдернутый из html-а, сконвертированный из KOI8-R и т.д.
Всякие аттачи, картинки и прочее, не отображаемое в текстовом виде - игнорировать.
Я раньше делал нечто подобное, но под виндой. Там я использовал Delphi и набор компонентов Indy. Сейчас я попробовал то же самое сделать под Free Pascal/Lazarus - Indy туда портировали, но под Linux оно не работает. Что-то там накосячили при работе с кодировками, кое-что мне удалось исправить, но теперь я добрался до функции перекодирования Multibyte character set, там оно через IFDEF под виндами вызывает MultiByteToWideChar и работает нормально, а под юниксом вызывает iconv и не работает. Быстро найти почему не работает не представляется возможным - опыта маловато, да и не факт, что это последняя грабля окажется. Поэтому надеюсь найти какое-нибудь другое решение.