今天给大家推荐一个基于.Net开发的邮箱开源库。

邮箱在我们日常工作中,可以说是非常常见了。个人邮箱一般都是免费的,但企业邮箱会收费,虽然一般情况下,市面邮箱已经够用了。但有些企业对内容安全要求比较严格、或者需要搭建邮件营销系统等一些场景下,我们就需要开发自己的邮箱系统。

项目简介

这是基于.Net开发的、开源的邮箱组件,功能强大、支持所有邮件协议、具备识别垃圾邮件、群发、邮件合并等功能。此项目还包含一个邮箱定时任务工具实例。此组件针对市面上的协议都已经封装好,我们就不需要再去了解相关的协议,对邮箱协议不了解的,还是很需要花费时间去阅读相关资料的,采用此组件,可以大大提升我们的开发效率。此组件还支持邮箱的合并、删除、保存本地文件,可以说是非常完善了。

技术架构

1、平台:这是采用.Net 4.0开发的,用于Windows系统。
组件功能1、协议支持:SMTP, POP3, IMAP4, NNTP, MIME, S/MIME, OpenPGP, DNS, vCard, vCalendar2、垃圾邮件:关键词过滤、黑名单、域名过滤。3、其他:支持队列、邮件合并, 邮件追踪。

项目结构

使用示例邮件链接

 Pop3Client pop = new Pop3Client(); pop.Connect("mail.myhost.com");

邮件登录

Pop3Client pop = new Pop3Client();pop.Connect("mail.myhost.com");pop.Authenticate("user","pass",SASLMechanism.CramMd5);pop.Disconnect();

发送消息

Pop3Client pop = new Pop3Client();pop.Connect("mail.myhost.com","user","pass");string response = pop.Command("XANYCOMMAND anyarguments");pop.Disconnect();

删除邮件

Pop3Client pop = new Pop3Client();pop.Connect("pop.myisp.com","username","password");pop.DeleteMessage(1);pop.Disconnect();

获取邮件

Pop3Client pop = new Pop3Client();pop.Connect("mail.myhost.com","user","pass");byte[] messageData = pop.RetrieveMessage(1);pop.Disconnect();

保存邮件

Pop3Client pop = new Pop3Client();pop.Connect("mail.myhost.com","user","pass");pop.StoreMessage(1,"C:\\My headers\\myheader.eml");pop.Disconnect();

邮箱定时任务工具界面

项目地址:https://github.com/pmengal/MailSystem.NET

- End -

推荐阅读

一套 .NET开发的邮箱Mail开源库的更多相关文章

  1. Android开发之经常使用开源库直接拿来用

    1.from  代码家 整理比較好的源代码连接 **************************************************************************** ...

  2. android 开发必用的开源库

    LogReport:  https://github.com/wenmingvs/LogReport,   崩溃日志上传框架 wcl-permission-demo:Android 6.0 - 动态权 ...

  3. iOS开发--iOS及Mac开源项目和学习资料

    文/零距离仰望星空(简书作者)原文链接:http://www.jianshu.com/p/f6cdbc8192ba著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 原文出处:codecl ...

  4. iOS:iOS开发非常全的三方库、插件等等

    iOS开发非常全的三方库.插件等等 github排名:https://github.com/trending, github搜索:https://github.com/search. 此文章转自git ...

  5. ios很好的开源库

    Tim9Liu9/TimLiu-iOS 自己总结的iOS.mac开源项目及库,持续更新.. 目录 UI 下拉刷新 模糊效果 AutoLayout 富文本 图表 表相关与Tabbar 隐藏与显示 HUD ...

  6. iOS开发 非常全的三方库、插件、大牛博客等等

    UI 下拉刷新 EGOTableViewPullRefresh- 最早的下拉刷新控件. SVPullToRefresh- 下拉刷新控件. MJRefresh- 仅需一行代码就可以为UITableVie ...

  7. .net使用cefsharp开源库开发chrome浏览器(一)

    一.背景 公司现在使用.NET技术,有web组.有winfrom桌面组.而这两组团队业务部分有分多相似的地方,使用的数据源也是相同的,以此造成两组团队之间做了很多彼此都已经做过的工作. 有什么办法使得 ...

  8. 开发并调试 Mail Add-in

    开发并调试 Mail Add-in (mail app for Outlook) 准备工作 如果你的邮箱搭建在 Exchange Server 上,则可以创建邮件应用程序(Mail Add-in)来扩 ...

  9. 【DevOps敏捷开发动手实验】开源文档 v2015.2 stable 版发布

    Team Foundation Server 2015 Update 2版本终于在2周前的//Build 2016大会上正式发布了,借这个东风,小编也完成了[DevOps敏捷开发动手实验]开源文档的第 ...

  10. iOS----精品开源库-开发强力助攻

    30个精品iOS开源库,超强助攻 你不会想错过他们,真的. 我爱开源.  文章的尾部你会看到一个太长不看的版本——一个简单的列表,只有标题和到项目的链接.如果你发现这篇文章是有用的,把它和你的iOS开 ...

随机推荐

  1. nexus私服搭建的上传和下载

    下载 方法1 下载应该先在nexus中创建相关的库(宿主库.代理库.仓库组),也可以使用原有的库 随后在pom文件中增加以下代码,即可从私服中下载相关的依赖包(注:依赖包的下载首先基于本地库,本地库没 ...

  2. redis实现分布式锁(包含代码以及分析利弊)

    redis实现分布式锁(基础版) 使用redis实现分布式锁的方法有多种,基础版本是基于setnx命令,即如果不存在则设置.这个命令可以保证只有一个客户端能够成功设置一个key,从而获得锁.设置key ...

  3. springcloud-alibaba

    1.spring cloud alibaba官网 https://spring.io/projects/spring-cloud-alibaba#overview 2.spring cloud ali ...

  4. 谈谈Selenium中的三种切换之alert

    谈谈Selenium中的三种切换之alert 一.如何识别 识别方法:alert中的确定.取消.输入框无法用inspector定位到,当然还有一些特例. alert分为三种 alert confirm ...

  5. 构建api gateway之 openresty 中如何使用 wasm

    openresty 中如何使用 wasm WASM 是什么? WebAssembly是一种运行在现代网络浏览器中的新型代码,并且提供新的性能特性和效果.它设计的目的不是为了手写代码而是为诸如C.C++ ...

  6. 接入jira OAuth权限流程

    如果要在自己的系统中操作jira的api完成这些单据的创建.审批等操作,就不得不要先完成jira的第三方授权,才能在第三方系统去做这些jira的操作. 首先必须在jira系统配置客户端的相关信息,须配 ...

  7. JZOJ 3184. 【GDOI2013模拟7】最大异或和

    最大异或和 可持久化字典树经典题 题目网上自己找 来波模板 \(Code\) #include<cstdio> #include<iostream> using namespa ...

  8. 分享手机上一款超多功能的APP(含428个功能):宇宙工具箱

    无意中在网上发现一款功能超多的安卓APP,作者宣称是三百多个功能,但是目前统计已经有四百多个,而且不包含网友分享的上千功能. 这款工具的名称叫:宇宙工具箱. 它的功能主要包含10个类别: 图片工具 日 ...

  9. ASP.NET Core - 依赖注入(二)

    .NET Core 依赖注入的基本用法 话接上篇,这一章介绍 .NET Core 框架自带的轻量级 Ioc 容器下服务使用的一些知识点,大家可以先看看上一篇文章 [ASP.NET Core - 依赖注 ...

  10. 实现 JSON 高亮

    JSON 转换 HTML function formatJson(json) { let regexp = /("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"]) ...