.NET的几种开源的邮件组件,你用过那种?

.NET Core的邮件组件你用过哪些呢?MailKit吗?其实还有。下面是收集github中开源的邮件组件,感兴趣的童鞋可以点击链接去看看详细使用说明。

1、FluentEmail:电子邮件发送库。

 FluentEmail是一款在GitHub上开源免费的支持.Net和.Net Core邮件发送组件,有两个接口“FluentEmail.Core 和FluentEmail.Smtp ”,第一个是核心组件,包含发送邮件的默认功能等,第二个通过Smtp服务器发送电子邮件的组件。FluentEmail的特征是使用简单,基本代码如下:.

var email = await Email    .From("john@email.com")    .To("bob@email.com", "bob")    .Subject("hows it going bob")    .Body("yo bob, long time no see!")    .SendAsync();//

源码地址:https://github.com/lukencode/FluentEmail

2、MailKit:用于IMAP,POP3和SMTP的跨平台.NET库。

Mailkit是比较常用的邮件组件,Mailkit 支持 Pop3、IMAP,STMP,是目前.Net端最全的邮件开源项目了,MailKit组件支持异步操作,在内部编写的有关I/O异步操作的类。推荐大家使用,下面是官网简单案例

          var message = new MimeMessage ();            message.From.Add (new MailboxAddress ("Joey Tribbiani", "joey@friends.com"));            message.To.Add (new MailboxAddress ("Mrs. Chanandler Bong", "chandler@friends.com"));            message.Subject = "How you doin'?";            message.Body = new TextPart ("plain") {                Text = @"Hey Chandler,I just wanted to let you know that Monica and I were going to go play some paintball, you in?-- Joey"};            using (var client = new SmtpClient ()) {                client.Connect ("smtp.friends.com", 587, false);                // Note: only needed if the SMTP server requires authentication                client.Authenticate ("joey", "password");                client.Send (message);                client.Disconnect (true);            }

源码地址:https://github.com/jstedfast/MailKit

3、MailMergeLib

 MailMergeLib是SMTP邮件客户端库,为文本,内嵌图像和附件提供邮件合并功能,以及发送邮件的良好吞吐量和容错能力。支持邮件模板,电子邮件模板可以在收件人、主题、HTML和/或纯文本、附件甚至标题方面完全个性化。

源码地址:https://github.com/axuno/MailMergeLib

使用文档:https://github.com/axuno/MailMergeLib/wiki

4、MimeKit

 跨平台.NET MIME创建和解析器库,支持S/MIME, PGP, DKIM, TNEF and Unix mbox。特点是支持高性能的原生MIME解析器。

源码地址:https://github.com/jstedfast/MimeKit

5、netDumbster 

  用于测试的.Net SMTP服务器。克隆流行的Dumbster。主要用于发邮件的测试,不注重测试的开发飘过。

源码地址:https://github.com/cmendible/netDumbster

6、Papercut 

 简单桌面SMTP服务器。设计初衷是用于开发的邮件测试。

源码地址:https://github.com/ChangemakerStudios/Papercut-SMTP

7、PreMailer.Net

css和样式结合的邮件库,以便适配各种的电子邮件客户端兼容性。

源码地址:https://github.com/milkshakesoftware/PreMailer.Net

8、SmtpServer 

SmtpServer是一个简单,但功能强大的SMTP服务器的实现。完全用c#编写的,它充分利用.net TPL去获得最大的性能。

源码地址:https://github.com/cosullivan/SmtpServer

9、StrongGrid

SendGrid的v3 API客户端。不仅允许您发送电子邮件,还允许您批量导入联系人,管理列表和段,为列表创建自定义字段等。还包括SendGrid Webhooks的解析器。

源码地址:https://github.com/Jericho/StrongGrid

以上几种邮件组件比较常用的是FluentEmail和Mailkit,其它组件主要是邮件服务器功能和测试功能,不是我们经常用到的,仅供参考。