C#使用 MailKit 收发邮件

简介: 【10月更文挑战第15天】在C#中使用MailKit库可轻松实现邮件的发送与接收。首先需通过NuGet包管理器安装MailKit,并编写代码设置发件人、收件人、邮件主题及正文,连接邮件服务器并认证后即可发送邮件。接收邮件时,同样需连接服务器并认证,然后打开收件箱遍历读取邮件信息。整个过程需根据实际邮件服务器配置相应参数。

在 C# 中使用 MailKit 收发邮件可以按照以下步骤进行:


一、发送邮件


  1. 安装 MailKit 库:
  • 在 Visual Studio 中,可以通过 NuGet 包管理器搜索 “MailKit” 并安装到项目中。
  1. 编写发送邮件的代码:


using MailKit.Net.Smtp;
   using MimeKit;
   class Program
   {
       static void Main()
       {
           var message = new MimeMessage();
           message.From.Add(new MailboxAddress("发件人名称", "发件人邮箱地址"));
           message.To.Add(new MailboxAddress("收件人名称", "收件人邮箱地址"));
           message.Subject = "邮件主题";
           var bodyBuilder = new BodyBuilder();
           bodyBuilder.TextBody = "邮件正文内容";
           message.Body = bodyBuilder.ToMessageBody();
           using (var client = new SmtpClient())
           {
               client.Connect("邮件服务器地址", 邮件服务器端口号,  是否启用 SSL);
               client.Authenticate("发件人邮箱地址", "发件人邮箱密码");
               client.Send(message);
               client.Disconnect(true);
           }
       }
   }


  • 设置发件人、收件人、主题和正文内容。
  • 连接到邮件服务器,进行身份验证后发送邮件。


二、接收邮件


  1. 同样确保安装了 MailKit 库。
  2. 编写接收邮件的代码:


using MailKit;
   using MailKit.Net.Imap;
   using MimeKit;
   class Program
   {
       static void Main()
       {
           using (var client = new ImapClient())
           {
               client.Connect("邮件服务器地址", 邮件服务器端口号, 是否启用 SSL);
               client.Authenticate("收件人邮箱地址", "收件人邮箱密码");
               var inbox = client.Inbox;
               inbox.Open(FolderAccess.ReadOnly);
               for (int i = 0; i < inbox.Count; i++)
               {
                   var message = inbox.GetMessage(i);
                   Console.WriteLine("主题:" + message.Subject);
                   Console.WriteLine("发件人:" + message.From);
                   Console.WriteLine("正文:" + message.TextBody);
               }
               client.Disconnect(true);
           }
       }
   }


  • 连接到邮件服务器并进行身份验证后,打开收件箱。
  • 遍历收件箱中的邮件,读取邮件的主题、发件人和正文内容。


在使用过程中,你需要将 “邮件服务器地址”“邮件服务器端口号”“发件人邮箱地址”“发件人邮箱密码”“收件人邮箱地址”“收件人邮箱密码” 等信息替换为实际的配置信息。同时,不同的邮件服务器可能有不同的设置和要求,需要根据具体情况进行调整。

相关文章
|
7月前
|
C#
C# WinForm发送Email邮件
C# WinForm发送Email邮件
C# WinForm发送Email邮件
|
C# 数据安全/隐私保护
C#接入SMTP邮件服务
这两个引用用于C#接入邮件的SMTP服务
315 0
Jamil+c#—实现邮件的发送
Jamil+c#—实现邮件的发送
168 0
|
C# 数据采集
c# 利用IMap 收取163邮件
最近我要做一个爬虫。这个爬虫需要如下几个步骤: 1 填写注册内容(需要邮箱注册) 2 过拖拽验证码(geetest) 3 注册成功会给邮箱发一封确认邮箱 4 点击确认邮箱中的链接 完成注册   我这里就采用163邮箱注册。
3080 0
|
C#
jmail + c#实现邮件的接收
jmail + c#实现邮件的接收
191 0
|
C#
C# 创建邮件合并模板并合并文本、图片
对于Word中的邮件合并功能,用户可以将邮件合并后的结果文档保存并打印,也可以通过邮件的形式发送,在很多场合需要使用到此功能。那对于编程人员,我们也可以在C#语言环境中通过代码的形式来实现。根据需要先创建邮件合并模板后,可合并文本和图片,在下面的方法中,需要使用到组件Free Spire.Doc for .NET 。
1517 0
|
程序员 C# 数据安全/隐私保护
|
测试技术 网络安全 C#