亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C#實現(xiàn)電子郵件發(fā)送功能(支持普通文本,HTML和附件)

 更新時間:2025年07月06日 08:26:23   作者:Eiceblue  
在日常開發(fā)或自動化任務(wù)中,發(fā)送電子郵件仍然是最常用的數(shù)據(jù)傳遞方式之一,本文我們就來講講如何使用?C#?發(fā)送包含普通文本,HTML?正文以及附件的電子郵件吧

在日常開發(fā)或自動化任務(wù)中,發(fā)送電子郵件仍然是最常用的數(shù)據(jù)傳遞方式之一。通過代碼發(fā)送郵件,不僅可以提高效率,還能實現(xiàn)批量通知、報表推送等功能。本文將介紹如何使用 C# 發(fā)送包含普通文本、HTML 正文以及附件的電子郵件,并提供完整的示例代碼。

本文使用 Free Spire.Email for .NET,可通過 NuGet 安裝:

Install-Package FreeSpire.Email

使用 C# 創(chuàng)建郵件消息

Spire.Email 提供 MailAddressMailMessage 類來構(gòu)建郵件內(nèi)容。你可以輕松添加多個收件人、抄送(Cc)、密送(Bcc)對象,并指定郵件的文本和 HTML 內(nèi)容。

設(shè)置發(fā)件人、收件人和郵件內(nèi)容

代碼示例:

using Spire.Email;
using Spire.Email.Smtp;

// 創(chuàng)建發(fā)件人和收件人地址
MailAddress from = new MailAddress("Example@gmail.com", "你的名字");
MailAddress to1 = new MailAddress("Example1@gmail.com", "用戶1");
MailAddress to2 = new MailAddress("Example@126.com", "用戶2");

// 創(chuàng)建郵件消息對象
MailMessage message = new MailMessage(from, to1);
message.To.Add(to2);  // 添加第二個收件人
message.Cc.Add(new MailAddress("Example@icloud.com", "抄送人"));
message.Bcc.Add(new MailAddress("Example@petalmail.com")); // 添加密送人

// 設(shè)置郵件主題、HTML 正文和純文本正文
message.Subject = "月次報告 - 2025年6月";
message.BodyHtml = "<h2 style='color:#2E86C1;'>報告概要</h2><p>請查收附件中的 PDF 報告。</p>";
message.BodyText = "報告概要 - 請查收附件中的 PDF。";

該示例同時設(shè)置了文本正文和 HTML 正文,客戶端將根據(jù)支持情況優(yōu)先顯示 HTML 內(nèi)容。

添加郵件附件

郵件附件可通過 Attachment 類添加,例如 PDF 報表、Excel 文件等。

代碼示例:

// 添加附件
Attachment attachment = new Attachment(@"Sample.pdf");
message.Attachments.Add(attachment);

只需提供文件路徑,即可將其添加為郵件附件。

配置 SMTP 并發(fā)送郵件

SMTP(簡單郵件傳輸協(xié)議)用于將郵件從客戶端發(fā)送到服務(wù)器。Spire.Email 提供 SmtpClient 類來連接并發(fā)送郵件。

代碼示例:

// 配置 SMTP 客戶端
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";         // SMTP 服務(wù)器地址
smtp.Port = 587;                      // TLS 使用的端口號
smtp.Username = "Example@gmail.com";   // 郵箱用戶名
smtp.Password = "your_password";         // 應(yīng)用專用密碼
smtp.ConnectionProtocols = ConnectionProtocols.StartTls; // 使用 TLS 加密協(xié)議

// 發(fā)送郵件
smtp.SendOne(message);

注意:Gmail 發(fā)送郵件需要啟用“應(yīng)用專用密碼”,并確保啟用了 SMTP 服務(wù)。

完整代碼示例

以下是完整的郵件發(fā)送代碼,整合了所有功能:

using Spire.Email;
using Spire.Email.Smtp;

// 創(chuàng)建發(fā)件人和收件人
MailAddress from = new MailAddress("your_email@gmail.com", "你的名字");
MailAddress to1 = new MailAddress("user1@example.com", "用戶1");
MailAddress to2 = new MailAddress("user2@example.com", "用戶2");

// 創(chuàng)建郵件對象
MailMessage message = new MailMessage(from, to1);
message.To.Add(to2);
message.Cc.Add(new MailAddress("cc@example.com", "抄送人"));
message.Bcc.Add(new MailAddress("bcc@example.com", "密送人"));

// 設(shè)置主題和正文
message.Subject = "月次報告 - 2025年6月";
message.BodyHtml = "<h2>報告概要</h2><p>請查收附件中的 PDF 報告。</p>";
message.BodyText = "報告概要 - 請查收附件中的 PDF 文件。";

// 添加附件
Attachment attachment = new Attachment(@"G:\Documents\Sample.pdf");
message.Attachments.Add(attachment);

// 配置 SMTP 客戶端并發(fā)送郵件
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
smtp.Username = "your_email@gmail.com";
smtp.Password = "your_app_password";
smtp.ConnectionProtocols = ConnectionProtocols.StartTls;

smtp.SendOne(message);

郵件發(fā)送結(jié)果:

總結(jié)

通過 Free Spire.Email for .NET,C# 開發(fā)者可以輕松實現(xiàn)功能豐富的郵件發(fā)送任務(wù),包括:

  • 發(fā)送普通文本和 HTML 格式的郵件內(nèi)容,兼容各種郵件客戶端;
  • 支持多個收件人、抄送與密送,滿足業(yè)務(wù)通知需求;
  • 添加附件,適合發(fā)送報告、圖片、合同等;
  • 配置 SMTP 客戶端,支持 Gmail、Outlook、企業(yè)郵箱等常見平臺。

這些功能適用于自動化報告推送、系統(tǒng)告警通知、用戶郵件服務(wù)等多種場景。

到此這篇關(guān)于C#實現(xiàn)電子郵件發(fā)送功能(支持普通文本,HTML和附件)的文章就介紹到這了,更多相關(guān)C#發(fā)送郵件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論