一套 .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开 ...
随机推荐
- 四、python解释器、环境变量和多版本共存
目录 一.python解释器 1.python发展方向 2.python解释器 1.历史 2.版本 3.下载 4.安装 5.使用 二.环境变量与多版本共存 环境变量设置 多版本共存 三.运行pytho ...
- 3分钟安装fcpx10.6.5最新 小白一看就会 简体中文版 (亲测有效)
Final Cut Pro 简介 Final Cut Pro X for Mac是苹果推出的一款功能强大的视频编辑软件,具有先进的调色功能.HDR 视频支持,以及 ProRes RAW,让剪辑.音轨. ...
- C# 编写Windows Service Windows服务程序
一.新建项目--选择Windows 服务,输入新的项目名称,点击确定. 二.服务名称的设置.服务添加安装程序.服务程序代码 1.服务名称的设置:视图 - 解决方案资源管理器 - 你创建的服务项目 默认 ...
- 这是一篇乖巧的草稿——vscode上传代码到代码托管平台GitHub
一.在GitHub上创建一个远程仓库: 以上,就创建好了一个名为pythonStudy的仓库,现在先别把它关掉,先最小化 二.安装版本管理工具git:git属于无脑安装,可以更改安装路径 打开项目文件 ...
- mapreduce的使用
mapreduce的使用 以下案例写之前需要导入jar包依赖: <dependencies> <dependency> <groupId>org.apache.ha ...
- 如何在Net6.0里配置多版本支持并支持注释说明的Swagger
一.前言 现在已经进入了微服务的开发时代了,在这个时代,如果有人问你什么是微服务,你说不知道,就有点太丢人了,别人会有异样的眼光看你,俗话说:唾液淹死人.没办法,我们只能去学习新的东西.一提到微服务, ...
- 云小课|MRS数据分析-通过Spark Streaming作业消费Kafka数据
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:Spark Str ...
- KingbaseES R6集群误删除备节点的集群目录恢复方式
一.场景 一主一备环境 主节点:192.168.17.9 备节点:192.168.17.10 故障:备节点安装目录/home/kingbase/cluster备删除 二.恢复方式 1.备节点集群目录备 ...
- mysql转DM的日期函数转换
背景: 项目要从mysql转换为DM数据库,发现很多日期函数在DM是不能用的. 所以大概总结下有哪些,以及转换思路. 正文: INTERVAL 表示日期间隔. 看做拼接符. DATE_ADD 表示日期 ...
- Laravel 框架根据经纬度计算在一定距离内的数据
$model = DB::table('table_name'); public static function scope_distance($model, $from_latitude, $fro ...