当前位置: 首页 > wzjs >正文

张家界城乡建设网站系统优化大师下载

张家界城乡建设网站,系统优化大师下载,物业网站建设方案,跨境电商独立站运营C# 使用 MailKit 接收邮件(附demo) 介绍安装包(依赖)简单代码获取附件核心代码完整代码 介绍 MailKit 是一个开源的 C# 邮件处理库,用于在应用程序中发送和接收电子邮件。它提供了一个强大且易于使用的 API&#xff…

C# 使用 MailKit 接收邮件(附demo)

  • 介绍
  • 安装包(依赖)
    • 简单代码
    • 获取附件
      • 核心代码
      • 完整代码


介绍

MailKit 是一个开源的 C# 邮件处理库,用于在应用程序中发送和接收电子邮件。它提供了一个强大且易于使用的 API,支持多种邮件协议,包括 SMTP、POP3、和 IMAP。

特性与优势描述
多协议支持支持 SMTP、POP3、IMAP 等多种邮件协议。
异步操作使用异步编程模型,提高性能和响应性。
附件处理提供灵活的附件处理功能,支持添加、读取和保存邮件附件。
SSL/TLS 支持支持安全套接字层(SSL)和传输层安全性(TLS),确保邮件的安全传输。
容错处理提供容错处理机制,处理网络或协议错误,确保稳定的邮件通信。
丰富的 API提供丰富的 API,方便开发人员访问邮件的各个方面,包括主题、发件人、收件人等。
跨平台MailKit 是一个跨平台的邮件处理库,可在多个操作系统上运行,包括 Windows、Linux 和 macOS。

安装包(依赖)

通过命令操作 NuGet 包管理器进行安装:

Install-Package MailKit -Version 2.15.0

通过管理 NuGet 程序包进行安装
在这里插入图片描述

在这里插入图片描述

简单代码

以下是一个简单的示例,演示如何使用 MailKit 接收邮件:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MailKit.Net.Pop3;
using MimeKit;namespace Pop3EmailDemo
{internal class Program{static void Main(string[] args){using (var client = new Pop3Client()){// 邮箱信息string email = "csdndaolizhe@163.com";string password = "AOKRBYUISXPAITAI";// POP3 服务器和端口string pop3Server = "pop.163.com";int pop3Port = 995;// 连接到 POP3 服务器client.Connect(pop3Server, pop3Port, true);// 登录client.Authenticate(email, password);// 获取邮件数量int messageCount = client.Count;// 遍历邮件for (int i = 0; i < messageCount; i++){// 获取邮件 UIDvar uid = client.GetMessageUid(i);Console.WriteLine($"\r\n{email} \r\n接收到邮件 {uid}\r\n");// 获取邮件MimeMessage message = client.GetMessage(i);Console.WriteLine($"\r\n标题:{message.Subject} \r\n内容:{message.TextBody}\r\n");// 断开连接client.Disconnect(true);}}}}
}

我这里展示一下网易163邮箱的POP3开启方式

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

AOKRBYUISXPAITAI

POP3 服务器地址
在这里插入图片描述

由于我这里是自己给自己发的邮件,所以可以看到自己的邮件内容

在这里插入图片描述

以下是 MimeMessage 类中的一些主要字段及其解释:

字段类型解释
FromInternetAddressList发件人的电子邮件地址列表,表示邮件的实际发件人或邮件的代理发件人。 常用
SenderInternetAddress实际发送邮件的用户或代理的电子邮件地址。在协作场景中,与 From 可能不同。
ReplyToInternetAddressList邮件回复时使用的地址列表,指定了接收回复的地址,不一定与发件人相同。
ToInternetAddressList收件人的电子邮件地址列表,表示邮件的主要接收人。
CcInternetAddressList抄送收件人的电子邮件地址列表,指定了附加接收邮件的地址,不是主要的接收人。
BccInternetAddressList密送收件人的电子邮件地址列表,接收邮件的人不会看到这个地址。
MessageIdstring用于唯一标识邮件的字符串,在电子邮件通信中是邮件的唯一标识符。
DateDateTime表示邮件发送日期和时间的时间戳,用于指示邮件的发送时间。 常用
Subjectstring邮件的主题或标题,描述邮件内容的简短文本。常用
HtmlBodystring邮件的正文内容,可以是纯文本 (TextPart) 或包含多个部分的复合体 (Multipart),如 HTML、附件等。
TextBodystring邮件的正文纯文本,特别纯,一般常用 的就是这个
AttachmentsIEnumerable<MimePart>包含在邮件中的附件列表,每个附件是一个 MimePart 对象,表示二进制数据或其他嵌套消息。

在这里插入图片描述

获取附件

核心代码


// 处理邮件附件
foreach (var attachment in message.Attachments)
{if (attachment.IsAttachment)if (attachment is MimePart){var part = (MimePart)attachment;var fileName = part.FileName;var filePath = "D:\\临时\\邮件简历\\" + Guid.NewGuid().ToString() + fileName;//File.Create(filePath)using (var stream = File.Create(filePath)){if (attachment is MessagePart rfc822){rfc822.Message.WriteTo(stream);}else{part.Content.DecodeTo(stream);}}// 保存附件到本地文件var mailFileInfo = new FileInfo(filePath);}}

完整代码

using MailKit.Net.Pop3;
using MimeKit;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Pop3EmailAttachmentsDemo
{internal class Program{static void Main(string[] args){using (var client = new Pop3Client()){// 邮箱信息string email = "csdndaolizhe@163.com";string password = "AOKRBYUISXPAITAI";// POP3 服务器和端口string pop3Server = "pop.163.com";int pop3Port = 995;// 连接到 POP3 服务器client.Connect(pop3Server, pop3Port, true);// 登录client.Authenticate(email, password);// 获取邮件数量int messageCount = client.Count;// 遍历邮件for (int i = 0; i < messageCount; i++){// 获取邮件 UIDvar uid = client.GetMessageUid(i);Console.WriteLine($"\r\n{email} \r\n接收到邮件 {uid}\r\n");// 获取邮件MimeMessage message = client.GetMessage(i);Console.WriteLine($"\r\n标题:{message.Subject} \r\n内容:{message.TextBody}\r\n");// 处理邮件附件foreach (var attachment in message.Attachments){if (attachment.IsAttachment)if (attachment is MimePart){var part = (MimePart)attachment;var fileName = part.FileName;var filePath = "D:\\临时\\邮件附件\\" + Guid.NewGuid().ToString() + fileName;//File.Create(filePath)using (var stream = File.Create(filePath)){if (attachment is MessagePart rfc822){rfc822.Message.WriteTo(stream);}else{part.Content.DecodeTo(stream);}}// 保存附件到本地文件var mailFileInfo = new FileInfo(filePath);}}// 断开连接client.Disconnect(true);}}}}
}
http://www.dtcms.com/wzjs/231137.html

相关文章:

  • bootstrap wordpress模版深圳搜索优化排名
  • 1元涨1000粉排名优化工具
  • 惠州微网站推广方案宁波网络推广联系方式
  • 微网站官网制作网站需要什么
  • 做网站与网店运营最新推广赚钱的app
  • 国外 素材 网站上海谷歌seo
  • 个人网站怎么推广百度关键词收费标准
  • 陕西网站建设方案怎么开通网站平台
  • 做网站最便宜黑龙江新闻
  • 用自己的手机做网站百度搜索引擎平台
  • f2c网站建设市场推广的方法和规划
  • 无锡网站建设哪家好seo关键词优化指南
  • 阿里服务器怎么做网站服务器吗百度seo在线优化
  • 宝山做网站公司短期培训学什么好
  • 排名好的徐州网站开发平台宣传推广方案
  • 注册免费域名网站店铺推广怎么做
  • asp网站上传后台在哪网络营销推广工作内容
  • 襄阳棋牌网站建设营销平台是什么意思
  • app网站开发合同广东深圳今天最新通知
  • 域名备案关闭网站吗现在最好的营销方式
  • 做招聘网站需要什么seo网络优化招聘信息
  • 什么软件 做短视频网站好太原seo关键词排名优化
  • 最近做国际网站怎么样广州seo快速排名
  • 重庆网站建设必选承越seo技术最新黑帽
  • 长宁区网站建设网页在线智能识图
  • 无限免费视频在线看seo关键词排名优化报价
  • 培训的网站建设北京seo推广系统
  • 全站仪如何建站深圳网络营销推广公司
  • 网站建设和维护的教程营销工具有哪些
  • wordpress如何更换主题免费seo推广公司