.NET使用MailKit进行邮件处理
.核心内容(IMAP为例)
连接邮箱
加密
client.Connect(“imap.exmail.qq.com”, 993, SecureSocketOptions.SslOnConnect);
不加密
client.Connect(“imap.exmail.qq.com”, 143, SecureSocketOptions.None);
登入邮箱
client.Authenticate(MAIL_NAME, MAIL_PASSWORD);
打开邮件文件夹
client.Inbox.Open(FolderAccess.ReadWrite);
读取文件
读取方式一:可以预先筛选邮件
search for messages where the Subject header contains either “MimeKit” or “MailKit”
var query = SearchQuery.SubjectContains(“MimeKit”).Or(SearchQuery.SubjectContains(“MailKit”));
var uids = client.Inbox.Search(query);
读取方式二:读取所有邮件
var uids = client.Inbox.Search(SearchQuery.All);
邮件操作
操作邮件一:读取邮件标题
string subject = message.Subject;
if (!subject.Contains(“MimeKitDemo”))
return;
操作邮件二:读取正文
string body = message.TextBody ?? string.Empty;
if (!body.Contains(“MimeKitDemoBody”))
return;
操作邮件三:下载邮件附件
var attachments = message.Attachments;
if (attachments.Any())
{
foreach (var attachment in attachments)
DownloadAttachment(attachment);
}
private static void DownloadAttachment(MimeEntity attachment)
{if (attachment is MessagePart){var fileName = attachment.ContentDisposition?.FileName;var rfc822 = (MessagePart)attachment;if (string.IsNullOrEmpty(fileName))fileName = "attached-message.eml";var path = Path.Combine(DIRECTORY, fileName);using (var stream = File.Create(path))rfc822.Message.WriteTo(stream);}else{var part = (MimePart)attachment;var fileName = part.FileName;var path = Path.Combine(DIRECTORY, fileName);using (var stream = File.Create(path))part.Content.DecodeTo(stream);}
}
操作邮件四:移动邮件(移动至删除文件夹)
client.Inbox.MoveTo(uid, client.GetFolder(SpecialFolder.Trash));
操作邮件五:删除邮件 - 将邮件标记为删除、最后删除
client.Inbox.AddFlags(uid, MessageFlags.Deleted, true);
client.Inbox.Expunge();
USB Microphone https://www.soft-voice.com/
Wooden Speakers https://www.zeshuiplatform.com/
亚马逊测评 www.yisuping.cn
深圳网站建设www.sz886.com
.NET使用MailKit进行邮件处理相关推荐
- C#使用 MailKit获取邮件中的附件(QQ邮箱/163网易邮箱)
背景介绍:VS2017 | .net core | C# | .netframwork 4.0 --------------------------------------------------- ...
- 创建基于MailKit和MimeKit的.NET基础邮件服务
邮件服务是一般的系统都会拥有和需要的功能,但是对于.NET项目来说,邮件服务的创建和使用会较为的麻烦..NET对于邮件功能提供了System.Net.Mail用于创建邮件服务,该基础服务提供邮件的基础 ...
- .NET CORE 下收发邮件之 MAILKIT
背景 利用代码发送邮件在工作中还是比较常见的,相信大家都用过SmtpClient来处理发送邮件的操作,不过这个类以及被标记已过时,所以介绍一个微软推荐的库MailKit来处理. MailKit开源地址 ...
- MailKit和MimeKit 收发邮件
新建项目,引用MailKit和MimeKit NuGet包 using CommonTool.MailKit; using System; using System.Collections.Gener ...
- 【愚公系列】2022年12月 .NET CORE工具案例-使用MailKit使用IMAP协议进行邮件读取
文章目录 前言 1.MailKit简介 2.MailKit功能 3.IMAP协议 一.使用MailKit进行邮件处理 1.安装MailKit程序包 2.读取操作文件代码 前言 1.MailKit简介 ...
- FullCalendar:eventColor,eventBackgroundColor, eventBorderColor, and eventTextColor
<!DOCTYPE html> <html> <head> <meta charset='utf-8' /> <title>背景色設定< ...
- 跨平台的.NET邮件协议MailKit组件解析
发起的.NET Core开源组织号召,进展的速度是我自己也没有想到的,很多园友都积极参与(虽然有些人诚心砸场子,要是以我以前的宝脾气,这会应该被我打住院了吧,不过幸好是少数,做一件事总有人说好,也有人 ...
- 解决.NET Core中MailKit无法使用阿里云邮件推送服务的问题
在博问中(.net core怎么实现邮件发送)知道了MailKit无法使用阿里云邮件推送服务发送邮件的问题,自已实测也遇到同样的问题,而用自己搭建的邮件服务器没这个问题. 于是,向阿里云提交了工单.. ...
- vs基于控制台应用程序的定时发送邮件_.NET Core 下收发邮件之 MailKit
利用代码发送邮件在工作中还是比较常见的,相信大家都用过SmtpClient来处理发送邮件的操作,不过这个类以及被标记已过时,所以介绍一个微软推荐的库MailKit来处理. MailKit开源地址:ht ...
最新文章
- matlab生成均匀部分散点图,应用halton序列生成均匀散点图
- 机器学习笔记(十五)——HMM序列问题和维特比算法
- CCF201909-1 小明种苹果
- 机器学习入门:多变量线性回归
- stm32g474教程_(完整版)STM32F103通用教程
- 禁用 Bootstrap 模态框(Modal) 点击空白时自动关闭
- HTTP普及帖2:简单的HTTP(上)
- cookie和seseion的区别和联系点
- windows 7系统的无损分区软件
- 软件生命周期创建B2C电子商务网站
- Android开发动态设置view宽度和高度layoutParams的单位问题
- python画满天星_跟我学解Python题-海龟制图满天星
- STM32 Cubemax(十一) ——JY901陀螺仪数据的读取与简单数据处理
- Labview2018视频教程(共51节)
- [BZOJ1975]HH去散步 图论+矩阵
- 群晖NAS DSM7.0系统安装qBittorrent和transmission套件教程
- 线索二叉树、选择树、堆
- 测定Linux内核100ms的时钟滴答数
- 机器人系统常用仿真软件介绍效果与评价指标
- java: 无法将类com.aaa.xxx中的构造器xxx应用到给定类型