一套 .NET开发的邮箱Mail开源库
今天给大家推荐一个基于.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开源库的更多相关文章
- Android开发之经常使用开源库直接拿来用
1.from 代码家 整理比較好的源代码连接 **************************************************************************** ...
- android 开发必用的开源库
LogReport: https://github.com/wenmingvs/LogReport, 崩溃日志上传框架 wcl-permission-demo:Android 6.0 - 动态权 ...
- iOS开发--iOS及Mac开源项目和学习资料
文/零距离仰望星空(简书作者)原文链接:http://www.jianshu.com/p/f6cdbc8192ba著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 原文出处:codecl ...
- iOS:iOS开发非常全的三方库、插件等等
iOS开发非常全的三方库.插件等等 github排名:https://github.com/trending, github搜索:https://github.com/search. 此文章转自git ...
- ios很好的开源库
Tim9Liu9/TimLiu-iOS 自己总结的iOS.mac开源项目及库,持续更新.. 目录 UI 下拉刷新 模糊效果 AutoLayout 富文本 图表 表相关与Tabbar 隐藏与显示 HUD ...
- iOS开发 非常全的三方库、插件、大牛博客等等
UI 下拉刷新 EGOTableViewPullRefresh- 最早的下拉刷新控件. SVPullToRefresh- 下拉刷新控件. MJRefresh- 仅需一行代码就可以为UITableVie ...
- .net使用cefsharp开源库开发chrome浏览器(一)
一.背景 公司现在使用.NET技术,有web组.有winfrom桌面组.而这两组团队业务部分有分多相似的地方,使用的数据源也是相同的,以此造成两组团队之间做了很多彼此都已经做过的工作. 有什么办法使得 ...
- 开发并调试 Mail Add-in
开发并调试 Mail Add-in (mail app for Outlook) 准备工作 如果你的邮箱搭建在 Exchange Server 上,则可以创建邮件应用程序(Mail Add-in)来扩 ...
- 【DevOps敏捷开发动手实验】开源文档 v2015.2 stable 版发布
Team Foundation Server 2015 Update 2版本终于在2周前的//Build 2016大会上正式发布了,借这个东风,小编也完成了[DevOps敏捷开发动手实验]开源文档的第 ...
- iOS----精品开源库-开发强力助攻
30个精品iOS开源库,超强助攻 你不会想错过他们,真的. 我爱开源. 文章的尾部你会看到一个太长不看的版本——一个简单的列表,只有标题和到项目的链接.如果你发现这篇文章是有用的,把它和你的iOS开 ...
随机推荐
- nexus私服搭建的上传和下载
下载 方法1 下载应该先在nexus中创建相关的库(宿主库.代理库.仓库组),也可以使用原有的库 随后在pom文件中增加以下代码,即可从私服中下载相关的依赖包(注:依赖包的下载首先基于本地库,本地库没 ...
- redis实现分布式锁(包含代码以及分析利弊)
redis实现分布式锁(基础版) 使用redis实现分布式锁的方法有多种,基础版本是基于setnx命令,即如果不存在则设置.这个命令可以保证只有一个客户端能够成功设置一个key,从而获得锁.设置key ...
- springcloud-alibaba
1.spring cloud alibaba官网 https://spring.io/projects/spring-cloud-alibaba#overview 2.spring cloud ali ...
- 谈谈Selenium中的三种切换之alert
谈谈Selenium中的三种切换之alert 一.如何识别 识别方法:alert中的确定.取消.输入框无法用inspector定位到,当然还有一些特例. alert分为三种 alert confirm ...
- 构建api gateway之 openresty 中如何使用 wasm
openresty 中如何使用 wasm WASM 是什么? WebAssembly是一种运行在现代网络浏览器中的新型代码,并且提供新的性能特性和效果.它设计的目的不是为了手写代码而是为诸如C.C++ ...
- 接入jira OAuth权限流程
如果要在自己的系统中操作jira的api完成这些单据的创建.审批等操作,就不得不要先完成jira的第三方授权,才能在第三方系统去做这些jira的操作. 首先必须在jira系统配置客户端的相关信息,须配 ...
- JZOJ 3184. 【GDOI2013模拟7】最大异或和
最大异或和 可持久化字典树经典题 题目网上自己找 来波模板 \(Code\) #include<cstdio> #include<iostream> using namespa ...
- 分享手机上一款超多功能的APP(含428个功能):宇宙工具箱
无意中在网上发现一款功能超多的安卓APP,作者宣称是三百多个功能,但是目前统计已经有四百多个,而且不包含网友分享的上千功能. 这款工具的名称叫:宇宙工具箱. 它的功能主要包含10个类别: 图片工具 日 ...
- ASP.NET Core - 依赖注入(二)
.NET Core 依赖注入的基本用法 话接上篇,这一章介绍 .NET Core 框架自带的轻量级 Ioc 容器下服务使用的一些知识点,大家可以先看看上一篇文章 [ASP.NET Core - 依赖注 ...
- 实现 JSON 高亮
JSON 转换 HTML function formatJson(json) { let regexp = /("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"]) ...