在現代應用程序中,電子郵件仍然是重要的通訊方式之一。無論是個人應用程序還是企業級系統,郵件發送和接收功能都經常是必不可少的。
簡介
MailKit 是一個跨平臺的 .NET 庫,專門用于處理電子郵件。它支持多種協議,包括:
MailKit 具有易用的 API 和高度的靈活性,適用于各種郵件應用的開發。
安裝
第一步,先安裝
Install-Package MailKit
發送電子郵件
using MailKit.Net.Smtp;
using MimeKit;
publicclassEmailSender
{
public void SendEmail()
{
var message = new MimeMessage();
message.From.Add(new MailboxAddress("Name", "email@example.com"));
message.To.Add(new MailboxAddress("Recipient Name", "recipient-email@example.com"));
message.Subject = "Test Email";
// 創建郵件內容
message.Body = new TextPart("plain")
{
Text = "Hello, this is a test email!"
};
// 設置 SMTP 服務器
using (var client = new SmtpClient())
{
client.Connect("smtp.example.com", 587, false); // 連接到 SMTP 服務器
client.Authenticate("email@example.com", "email-password"); // 登錄
// 發送郵件
client.Send(message);
client.Disconnect(true); // 斷開連接
}
}
}
- ?
MimeMessage
用于構建郵件,包括發件人、收件人、主題和正文。 - ? 使用
SmtpClient
類連接到 SMTP 服務器,進行郵件的發送。 - ?
Authenticate
方法用于提供用戶名和密碼進行身份驗證。
替換代碼中的 smtp.example.com
、用戶名、密碼和郵件地址即可。
為了確保郵件傳輸的安全性,MailKit 支持使用 SSL 或 TLS 加密進行連接。在發送郵件時,可以使用端口 465 來啟用 SSL 連接:
client.Connect("smtp.example.com", 465, true); // 使用 SSL 加密連接
接收電子郵件
使用 IMAP 協議
using MailKit.Net.Imap;
using MimeKit;
publicclassEmailReceiver
{
public void ReadEmails()
{
using (var client = new ImapClient())
{
// 連接到 IMAP 服務器并啟用 SSL
client.Connect("imap.example.com", 993, true);
// 登錄到郵箱
client.Authenticate("email@example.com", "email-password");
// 打開收件箱
var inbox = client.Inbox;
inbox.Open(FolderAccess.ReadOnly); // 只讀訪問
// 獲取最新的郵件
var message = inbox.GetMessage(inbox.Count - 1);
Console.WriteLine("Subject: " + message.Subject);
Console.WriteLine("Body: " + message.TextBody);
// 斷開連接
client.Disconnect(true);
}
}
}
使用 ImapClient
類連接到 IMAP 服務器,進行身份驗證并打開收件箱。然后,獲取最新的郵件并打印郵件的主題和正文。
獲取最新郵件
通過 inbox.GetMessage(inbox.Count - 1)
,我們可以獲取收件箱中最新的郵件。如果需要獲取多封郵件,可以使用循環遍歷 inbox.Messages
。
總結
MailKit 是一個功能強大且易于使用的 .NET 庫,適用于電子郵件的發送與接收。無論是構建個人項目,還是開發企業級應用程序,MailKit 都是一個非常合適的選擇。
該文章在 2025/2/18 10:44:22 編輯過