Сведения о вопросе

Faridun

08:09, 3rd August, 2020

Теги

.net   mime    

Какие библиотеки синтаксического анализа .NET Mime доступны?

Просмотров: 388   Ответов: 7

У меня есть проект, который использует javax.mail.internet.MimeMessage и другие связанные классы, которые делают анализ mime для писем, которые мы получаем. Это должно быть перенесено .NET.

Какую .Net стороннюю или встроенную библиотеку я могу использовать для замены Java классов, которые я использую?

EDIT: что-нибудь изменилось за последние 9 месяцев с тех пор, как я задал этот вопрос?



  Сведения об ответе

ЯЯ__4

09:07, 27th August, 2020

Я недавно выпустил MimeKit , который гораздо более надежен, чем любая другая библиотека парсеров с открытым исходным кодом .NET MIME, и он на порядок быстрее, а также из-за того, что это настоящий парсер потока, а не рекурсивный парсер строк спуска (который также имеет дополнительное преимущество, используя LOT меньше памяти).

Он имеет полную поддержку S/MIME v3.2 (включая сжатие, которое ни одна из других библиотек, претендующих на поддержку "full", на самом деле не поддерживает) и OpenPGP.

Для SMTP, POP3 и IMAP вы можете использовать библиотеку my MailKit, которая поддерживает множество механизмов аутентификации SASL, включая XOAUTH2 (используемый Google). Клиент SMTP поддерживает PIPELINING, что позволяет повысить производительность отправки почты, а клиент IMAP поддерживает растущее число расширений,которые позволяют клиентам также оптимизировать свою пропускную способность.


  Сведения об ответе

fo_I_K

11:15, 16th August, 2020

Я не использовал javax.mail.internet.MimeMessage, поэтому не могу сказать, как все это сравнивается, но .NET 2.0 и далее имеет пространство имен System.Net.Mime , которое может иметь что-то полезное для вас.

В противном случае, я использовал Chilkat MIME .NET давным-давно и был доволен им.


  Сведения об ответе

ASSembler

19:22, 4th August, 2020

SharpMimeTools, который является бесплатным и открытым исходным кодом.

http://anmar.eu.org/projects/sharpmimetools/

Это то, что я использую в своем приложении, BugTracker.NET и это было очень надежно.


  Сведения об ответе

PROGA

17:39, 29th August, 2020

Мне тоже нужна такая библиотека. Ищу библиотеку обработки mime. Мне нужно конвертировать сообщения и вложения в PDF.
Вот некоторые из библиотек, которые я нашел до сих пор. Библиотеки С Открытым Исходным Кодом:

коммерческие библиотеки:

  • Mime4Net
  • Rebex
  • Chilkat
  • Аспоз - самый дорогой вариант, который я вижу.

(я бы добавил больше ссылок, но мой уровень учетной записи мешает мне это сделать)

Я все еще перебираю их и еще не пробовал ни одного. Вероятно, я начну с SharpMime, так как это открытый исходный код. Mime4Net имеет несколько примеров на своем сайте. Из того, что я вижу, ни один из них не предлагает преобразование в PDF, которое мне нужно, но есть другие библиотеки, которые я ищу, чтобы выполнить эту задачу.


  Сведения об ответе

darknet

22:16, 4th August, 2020

Я использовал и то, и другое, и согласен с Райаном, что пространства имен System.Net.Mime и sibling обеспечивают очень похожую функциональность. Во всяком случае, я думаю, что вы обнаружите, что .Net APIs чище и легче работать с ними.


  Сведения об ответе

KOMP

23:41, 10th August, 2020

Вы можете попробовать библиотеку S/MIME, включенную в наш компонент Rebex Secure Mail .

Особенности включают в себя:

  • высокий уровень API (MailMessage - как видно в клиенте email)
  • низкий уровень API (доступ к дереву MIME)
  • автокорректирующий код для искаженных сообщений и сообщений, полученных неверно настроенными клиентами email
  • способность читать TNEF (он же winmail.dat, созданный Outlook)
  • S/MIME: sign/encrypt/decrypt сообщений
  • поддерживает как .NET, так и .NET CF

Проверьте функции, учебник MailMessage и учебник S/MIME . Вы можете скачать его по адресу www.rebex.net/secure-mail.net


  Сведения об ответе

qwerty101

16:51, 27th August, 2020

Попробуйте использовать компонент Mail.dll IMAP, он уже довольно давно на рынке и хорошо протестирован.

using(Imap imap = new Imap())
{
    imap.Connect("imapServer");
    imap.UseBestLogin("user", "password");

    imap.SelectInbox();
    List<long> uids = imap.SearchFlag(Flag.Unseen);

    foreach (long uid in uids)
    {
        byte[] eml = imap.GetMessageByUID(uid);
        IMail message = new MailBuilder()
            .CreateFromEml(eml);

        Console.WriteLine(message.Subject);
    }
    imap.Close();
}

Обратите внимание, что Mail.dll-это коммерческий продукт, который я создал.

Вы можете скачать его здесь: http://www.limilabs.com/mail .


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться