有哪些可用的.NET Mime解析库?

4

我有一个项目,使用javax.mail.internet.MimeMessage和其他相关类来解析我们接收到的电子邮件。现在需要将其移植到.NET平台。

有哪些.NET第三方库或内置库可以替换我正在使用的Java类?

编辑:自从我提出这个问题以来,有什么变化吗?

7个回答

11

我最近发布了MimeKit,它比其他任何开源.NET MIME解析库都更加强大,而且由于它是一个实际的流解析器而不是递归下降字符串解析器(这也有降低使用内存量的额外好处),所以速度快了几个数量级。

它完全支持S/MIME v3.2(包括压缩,这是其他声称“完全”支持的库没有实现的功能)和OpenPGP。

对于SMTP、POP3和IMAP,您可以使用我的MailKit库,它支持一堆SASL认证机制,包括Google使用的XOAUTH2。SMTP客户端支持PIPELINING,这可以提高发送邮件的性能,而IMAP客户端支持越来越多的扩展,允许客户端优化其带宽。


7
我没有使用过javax.mail.internet.MimeMessage,所以无法比较其与其他内容的差异,但.NET 2.0及以上版本有一个System.Net.Mime命名空间,可能对您有用。
另外,我以前用过Chilkat MIME .NET,感觉还不错。

6

SharpMimeTools是一个很棒的库。 - Sergej Andrejev

2
我也需要这样的库,正在寻找一个MIME处理库。我需要将消息和附件转换为PDF格式。
以下是我目前找到的一些开源库:
还有一些商业库:
  • Mime4Net
  • Rebex
  • Chilkat
  • Aspose - 我看到的最昂贵的选择。
(我本想添加更多链接,但我的帐户级别不允许我这样做)
我仍在筛选这些库,并且尚未尝试过其中任何一个。可能会从SharpMime开始,因为它是开源的。 Mime4Net在其网站上提供了一些示例。从我所看到的,这些库都没有提供我需要的PDF转换功能,但我正在寻找其他库来完成这项任务。

记录一下,最终我使用了AspNetMime,它使用一个xml许可证文件,不需要连接服务器验证许可证。他们有一个开发者许可证,我正在使用它,而且非常顺利。我的应用程序已经使用了一年多,运行良好。 - Marty

2

我使用过两者,同意Ryan的观点,System.Net.Mime及其相关命名空间提供了非常相似的功能。如果有什么不同的话,我认为你会发现.Net API更加简洁易用。


1

你可以尝试我们Rebex Secure Mail组件中包含的 S/MIME 库。

功能包括:

  • 高级 API(MailMessage - 类似于电子邮件客户端中的显示)
  • 低级 API(访问 MIME 树)
  • 自动纠正代码以修复损坏的消息和不正常工作的电子邮件客户端生成的消息
  • 能够读取 TNEF(由 Outlook 创建的 winmail.dat)
  • S/MIME:对消息进行签名/加密/解密
  • 支持 .NET 和 .NET CF

请查看功能特点, MailMessage 教程S/MIME 教程。您可以在www.rebex.net/secure-mail.net下载它。


0

尝试使用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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接