首页 > 其他分享 >一套 .NET开发的邮箱Mail开源库

一套 .NET开发的邮箱Mail开源库

时间:2022-09-21 16:03:30浏览次数:86  
标签:new pop 开源 Pop3Client 邮箱 Mail NET com 邮件

今天给大家推荐一个基于.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 -

推荐阅读

标签:new,pop,开源,Pop3Client,邮箱,Mail,NET,com,邮件
From: https://www.cnblogs.com/yakniu/p/16715882.html

相关文章

  • Linux(Debian) 配置netcore环境
    一、准备工作    ①、开启粘贴板#进入defaults.vim【未安装vim,按需安装】linaro@linaro-alip:~$sudovi/usr/share/vim/vim81/defaults.vim#将setmouse=......
  • donet framework 4.8 WebApi 集成 websocket 的测试
    后端:C#.netframework4.8WebApi  usingSystem;usingSystem.Collections.Generic;usingSystem.Net;usingSystem.Net.Http;usingSystem.Net.WebSockets;usi......
  • windows下mingw64编译darknet过程中遇到的错误记录下
    ./examples/go.c:787:5:error:unknowntypename'fd_set';didyoumean'fpos_t'? 解决:      go.c文件中添加头文件#include<sys/select.h> ./include......
  • .Net 7内容汇总(2)--原始字符串
    在C#11里,添加了一个叫原始字符串的东西。这个东西算是我相当喜欢以及期待的功能。我们先来看看这玩意咋用。首先,我们先来看看之前如果我们需要定义一个带引号的字符串我们......
  • Net5 控制台程序引入Nlog 、Nlog配置文件解读
    十年河东,十年河西,莫欺少年穷学无止境,精益求精nlog是继log4Net后C#编程界又一颗闪亮的星,俗称superstar1、先学会使用1.1、新建控制台应用程序,引入如下nuget1、Micros......
  • 在.net平台C#程序防止被反编译效果测试
    在.net平台C#程序是目前较常用的编程语言,但其易被反编译的特点,一直是一个难题。今天看到一个防止反编译利器—外壳加密工具。加密后的效果还是杠杠滴。(看说明,对java程......
  • 2022年vue3 10大开源后台管理系统模板
    当你写项目的时候,如何快速的完成一个项目的搭建,这个时候就需要借助到一些模板了,前端开发的一个好处就是,各类UI模板都是相当的齐全的,直接拿来用就可以了,脱离了一行又一行垒......
  • 因担心漏洞、数据暴露风险,企业放缓开源软件使用速度
    Anaconda发布了年度2022年数据科学现状报告,揭示了数据科学,机器学习(ML)和人工智能(AI)行业面临的广泛趋势,机遇和感知障碍。虽然开源软件是由开发人员创建的,也是为开发人员创......
  • kubenetes基础概念
    1.工作流程1.1用户准备一个资源文件(记录了业务应用的名称,镜像地址信息),通过调用APIServer执行插件pod1.2APIServer收到用户的pod创建请求,将pod信息写入到etcd中1.3......
  • dotnet 为大型应用接入 ApplicationStartupManager 启动流程框架
    对于大型的应用软件,特别是客户端应用软件,应用启动过程中,需要执行大量的逻辑,包括各个模块的初始化和注册等等逻辑。大型应用软件的启动过程都是非常复杂的,而客户端应用软件......