GMime - это анализатор пантомимы LGPL, написанный на C. Он зависит от glib, но glib доступен в Windows: 32bit и 64bit (и на всех платформах на основе Unix, включая Mac OS X). Он также строится внутри Visual Studio, так что я не вижу, в чем проблема. Я знаю, что есть по крайней мере 1 коммерческий поставщик Windows, поставляющий libgmime.dll и libglib.dll в их продукте (Kerio Connect, iirc). Nokia даже поставляет его на некоторые из своих телефонов.
На самом деле не существует такого понятия, как «легкий» парсер mime, если вы действительно ожидаете, что он будет делать что-то большее, чем разделение заголовков на «:» и выполнять случайный анализ заголовка Content-Type для поиска строки границы. а затем переходим к обработке не вложенных множественных элементов (что-то вроде бесполезного вне анализа http-ответов и предварительно консервированных сообщений MIME, которые вы контролируете композицию).
Причина, по которой синтаксические анализаторы, такие как GMime, являются настолько «большими» в отношении строк кода, заключается в том, что они предназначены для разработчиков, которые действительно хотят корректного и надежного синтаксического анализа / декодирования mime-частей и заголовков. См. Мой рассказ о декодировании токенов кодированных слов rfc2047 , чтобы узнать, насколько сложным это может быть (кстати, кроме GMime и MimeKit, я еще не нашел ни одного парсера mime с открытым исходным кодом, способного обрабатывать все крайние случаи обсуждались в моей напыщенной речи).
Даже несмотря на всю эту сверхпрочную обработку, все же быстрее или быстрее, чем большинство «легких» парсеров MIME, особенно если учесть, что большинство из них используют подход readline. Я видел «легковесные» парсеры MIME для анализа 25-мегабайтных файлов электронной почты за 2-3 секунды и считаю, что это «быстро». Мои модульные тесты для GMime разбирают 2 mbox-файла, заполненных сообщениями размером более 1,2 ГБ (да, гигабайтами) за меньшее время.
Моя точка зрения заключается в том, что «легковесность» является критерием ерунды людьми, которые не знают, о чем говорят.
Как насчет оценки на основе чего-то значимого, такого как соответствие rfc? Или комбинацией соответствия rfc и производительности? В любом случае, GMime будет победителем в любом значимом сравнении, которое вы проводите.