最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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)文章

  • 使用MSScriptControl 在 C# 中讀取json數(shù)據(jù)的方法

    使用MSScriptControl 在 C# 中讀取json數(shù)據(jù)的方法

    下面小編就為大家?guī)硪黄褂肕SScriptControl 在 C# 中讀取json數(shù)據(jù)的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • C#可選參數(shù)的相關(guān)使用

    C#可選參數(shù)的相關(guān)使用

    .net framework 4.0新增加了可選參數(shù)的支持,其實很簡單,只要給參數(shù)賦個默認(rèn)值就可以了
    2013-05-05
  • C#處理猜拳問題的簡單實例(非窗體)

    C#處理猜拳問題的簡單實例(非窗體)

    下面小編就為大家?guī)硪黄狢#處理猜拳問題的簡單實例(非窗體)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • C#結(jié)合數(shù)據(jù)庫實現(xiàn)驗證識別ID卡內(nèi)容的方法

    C#結(jié)合數(shù)據(jù)庫實現(xiàn)驗證識別ID卡內(nèi)容的方法

    這篇文章主要介紹了C#結(jié)合數(shù)據(jù)庫實現(xiàn)驗證識別ID卡內(nèi)容的方法,非常實用的功能,需要的朋友可以參考下
    2014-07-07
  • C#同步網(wǎng)絡(luò)時間的方法實例詳解

    C#同步網(wǎng)絡(luò)時間的方法實例詳解

    這篇文章主要介紹了C#同步網(wǎng)絡(luò)時間的方法,以實例形式較為詳細(xì)的分析了C#獲取網(wǎng)絡(luò)時間與同步本機系統(tǒng)時間的相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下
    2015-05-05
  • C#中神器類BlockingCollection的實現(xiàn)詳解

    C#中神器類BlockingCollection的實現(xiàn)詳解

    如果你想玩轉(zhuǎn)C#?里面多線程,工廠模式,生產(chǎn)者/消費者,隊列等高級操作,就可以和我一起探索這個強大的線程安全提供阻塞和限制功能的C#神器類BlockingCollection吧
    2023-02-02
  • C# 圖片與Base64碼的相互轉(zhuǎn)化問題(代碼詳解)

    C# 圖片與Base64碼的相互轉(zhuǎn)化問題(代碼詳解)

    這篇文章主要介紹了C# 圖片與Base64碼的相互轉(zhuǎn)化的代碼,通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • C#寫日志類實例

    C#寫日志類實例

    這篇文章主要介紹了C#寫日志類,實現(xiàn)將日志信息寫入文本文件的功能,非常具有實用價值,需要的朋友可以參考下
    2014-10-10
  • Unity使用攝像機實現(xiàn)望遠(yuǎn)鏡效果

    Unity使用攝像機實現(xiàn)望遠(yuǎn)鏡效果

    這篇文章主要為大家詳細(xì)介紹了Unity攝使用像機實現(xiàn)望遠(yuǎn)鏡效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • C#使用DateTime獲取日期和時間的實現(xiàn)

    C#使用DateTime獲取日期和時間的實現(xiàn)

    在C#中,DateTime類是用來處理日期和時間的類,它具有許多屬性和方法,用于操作和獲取日期和時間的不同部分,本文就來介紹一下C#使用DateTime獲取,感興趣的可以了解一下
    2023-11-11

最新評論

益阳市| 东光县| 蒙自县| 大英县| 青河县| 河北区| 喜德县| 城固县| 封开县| 新邵县| 凤庆县| 宜春市| 蒙自县| 西吉县| 宣恩县| 辽宁省| 夹江县| 乃东县| 山阴县| 松阳县| 白山市| 当涂县| 双流县| 奉节县| 肇庆市| 利津县| 扬中市| 含山县| 淮北市| 新巴尔虎右旗| 普兰县| 鄂托克前旗| 拉萨市| 平果县| 巴里| 哈尔滨市| 小金县| 浦北县| 教育| 简阳市| 抚宁县|