C# SMTP 發送 Email 教學|程式寄信完整實作(含範例)|C# 自動化系列

更新 發佈閱讀 7 分鐘

在實務開發中,使用 C# 發送 Email 是非常常見的需求,例如通知系統、寄送報表或自動提醒。本篇將帶你完整學會如何透過 SMTP 寄信,使用 .NET 實作 Email 發送功能,從基本設定到實際程式碼範例,一步一步建立可用的寄信流程。無論你是新手還是正在開發自動化工具,都可以透過這篇教學快速掌握 C# SMTP 發送 Email 的核心技巧。


本篇重點:

  • ✔ 使用 C# 透過 SMTP 發送 Email
  • ✔ .NET 寄信設定與基本流程
  • ✔ 完整程式碼範例(可直接套用)




今天採購部門的同事跑來求助,當他們採購完商品後,會有採購的項目清單,每次他們都要自己手動把清單寄給相關人員建立採購單號,有沒有機會請資訊部幫忙,他們只要把檔案放在資料夾內,透過我們的程式按下後就能自動寄信給相關人員,不用再自己開啟信箱選檔案跟收件人。

需求如圖一,資料夾內的檔案自動放到附件,透過程式自動寄信,不用操作信箱。

(圖一)

vocus|新世代的創作平台

專案開發

語言:asp.net c#

應用程式: windows forms

1 . 建立專案

  • 打開Visual Studio 2022 建立一個asp.net c# windows forms專案,選Windows Forms App(.NET Framework),下一步後按建立。(圖一)

(圖一)

vocus|新世代的創作平台
  • 拉一個button在畫面上提供程式的進入點。(圖二)

(圖二)

vocus|新世代的創作平台
  • 對(圖二)button1點左鍵兩下,進入程式執行的區塊。(圖三)

(圖三)

vocus|新世代的創作平台

2 . 詢問ChatGPT

  • 語言、框架、功能需求清楚的表達給GPT如下:

asp.net c# windows form app(.Net FrameWork) 將資料夾裡面的檔案加到附件並透過SMTP寄信。

  • 取得GPT給的範例,並把範例程式碼放到我們button1按下後會執行程式的區塊內,private void button1_Click(object sender, EventArgs e)的大括號{}裡面。

(請先用我查到的範例,後續有一定的基礎後可以自己使用GPT查出的範例,以免初學階段看不懂GPT的範例導致學習成效不彰)

private void button1_Click(object sender, EventArgs e)
{
string folderPath = @"C:\BackUp";

using (MailMessage mail = new MailMessage())
using (SmtpClient smtp = new SmtpClient("smtp.office365.com", 587))
{
smtp.EnableSsl = true;
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.UseDefaultCredentials = false;
smtp.Credentials = new NetworkCredential("你的寄信帳號@xxx.com", "寄信帳號的密碼");

mail.From = new MailAddress("你的寄信帳號@xxx.com");
mail.To.Add("你的收件帳號@xxx.com");
mail.Subject = "測試寄送附件";
mail.Body = "這是從資料夾自動加入附件的測試郵件";

if (Directory.Exists(folderPath))
{
string[] files = Directory.GetFiles(folderPath);
foreach (string file in files)
{
Attachment attachment = new Attachment(file);
mail.Attachments.Add(attachment);
}
}
else
{
MessageBox.Show("資料夾不存在");
return;
}

try
{
smtp.Send(mail);
MessageBox.Show("寄信成功");
}
catch (Exception ex)
{
MessageBox.Show("寄信失敗:" + ex.Message);
}
}
}

3 . 測試效果

  • 開始前要確定你有可以寄信的帳號、密碼、收信的帳號。(我是用公司Office365)
  • 還要確認在 "C:\BackUp" 資料夾內放個word、Excel或記事本等等的檔案。(圖一)

(圖一)

vocus|新世代的創作平台




  • 直接開始程式並且按下button 1,就會跳出寄信成功!(圖二)

(圖二)

vocus|新世代的創作平台




  • 程式跑完後,就會在信箱看到透過程式寄出來的信件,並且有附上檔案。(圖三)

(圖三)

vocus|新世代的創作平台

結論

這篇的程式碼範例我們用Office365的信箱發信,主要是因為大型公司基本上都是用Office365,不過如果目前沒有Office365帳號沒關係,下一篇 7-1 我們研究完範例程式碼的細節後,我會順便教你怎麼改成用gmail的信箱發信,這樣就可以透過gmail來達到一樣的練習效果喔!


留言
avatar-img
ITT Fun
0會員
15內容數
主要內容會教大家如何快速有效轉職到中大型公司內部系統的軟體工程師。 程式真的沒有很困難,不論之前覺得學習太枯燥乏味或是其他因素而放棄或從未開始,這邊會帶給大家不同的體驗。 我們會用實際案例來當作教學主軸,用我親身的經歷讓大家快樂學習程式,過程中可以累積很多程式作品還會提升很多成就感,同時還能增加成功轉職的機會!
ITT Fun的其他內容
2026/04/16
如果你已經完成 PDF 解析,本篇將針對程式碼進行詳細說明,解析 C# PDF 資料擷取的流程與邏輯,幫助你深入理解實作方式,並能應用在不同類型的文件處理場景中。
Thumbnail
2026/04/16
如果你已經完成 PDF 解析,本篇將針對程式碼進行詳細說明,解析 C# PDF 資料擷取的流程與邏輯,幫助你深入理解實作方式,並能應用在不同類型的文件處理場景中。
Thumbnail
2026/04/14
在資料處理中,C# PDF 解析是一個常見需求,例如擷取文件內容或整理資料。本篇將使用 PdfPig 套件,帶你完成 PDF 內容擷取的完整教學,讓你快速掌握文件自動化處理技巧。
Thumbnail
2026/04/14
在資料處理中,C# PDF 解析是一個常見需求,例如擷取文件內容或整理資料。本篇將使用 PdfPig 套件,帶你完成 PDF 內容擷取的完整教學,讓你快速掌握文件自動化處理技巧。
Thumbnail
2026/04/09
在了解基本操作後,本篇將進一步解析 C# Outlook 自動化範例,詳細說明郵件讀取的程式碼與邏輯流程,讓你可以依需求修改與擴充,打造屬於自己的 Email 自動化工具。 https://vocus.cc/article/69250a02fd89780001bff712
Thumbnail
2026/04/09
在了解基本操作後,本篇將進一步解析 C# Outlook 自動化範例,詳細說明郵件讀取的程式碼與邏輯流程,讓你可以依需求修改與擴充,打造屬於自己的 Email 自動化工具。 https://vocus.cc/article/69250a02fd89780001bff712
Thumbnail
看更多
你可能也想看
Thumbnail
網路上提到自學程式的文章,都會說自學程式非常地辛苦,而且要很自律,決心夠強;而當自己踏上這條路後,才發現何止是辛苦,根本是佈滿荊棘,常常寸步難行,且被刺地遍體鱗傷(喂~是不是有點太浮誇了),但在每個寫出程式豁然開朗的當下,卻又成就感滿滿,所以想藉著寫部落格紀錄一下自己的學習過程!
Thumbnail
網路上提到自學程式的文章,都會說自學程式非常地辛苦,而且要很自律,決心夠強;而當自己踏上這條路後,才發現何止是辛苦,根本是佈滿荊棘,常常寸步難行,且被刺地遍體鱗傷(喂~是不是有點太浮誇了),但在每個寫出程式豁然開朗的當下,卻又成就感滿滿,所以想藉著寫部落格紀錄一下自己的學習過程!
Thumbnail
全新版本的《三便士歌劇》如何不落入「復刻經典」的巢臼,反而利用華麗的秀場視覺,引導觀眾在晚期資本主義的消費愉悅之中,而能驚覺「批判」本身亦可能被收編——而當絞繩升起,這場關於如何生存的黑色遊戲,又將帶領新時代的我們走向何種後現代的自我解構?
Thumbnail
全新版本的《三便士歌劇》如何不落入「復刻經典」的巢臼,反而利用華麗的秀場視覺,引導觀眾在晚期資本主義的消費愉悅之中,而能驚覺「批判」本身亦可能被收編——而當絞繩升起,這場關於如何生存的黑色遊戲,又將帶領新時代的我們走向何種後現代的自我解構?
Thumbnail
本文深度解析賽勒布倫尼科夫的舞臺作品《傳奇:帕拉贊諾夫的十段殘篇》,如何以十段殘篇,結合帕拉贊諾夫的電影美學、象徵意象與當代政治流亡抗爭,探討藝術在儀式消失的現代社會如何承接意義,並展現不羈的自由靈魂。
Thumbnail
本文深度解析賽勒布倫尼科夫的舞臺作品《傳奇:帕拉贊諾夫的十段殘篇》,如何以十段殘篇,結合帕拉贊諾夫的電影美學、象徵意象與當代政治流亡抗爭,探討藝術在儀式消失的現代社會如何承接意義,並展現不羈的自由靈魂。
Thumbnail
長期以來,西方美學以《維特魯威人》式的幾何比例定義「完美身體」,這種視覺標準無形中成為殖民擴張與種族分類的暴力工具。本文透過分析奈及利亞編舞家庫德斯.奧尼奎庫的舞作《轉轉生》,探討當代非洲舞蹈如何跳脫「標本式」的文化觀看。
Thumbnail
長期以來,西方美學以《維特魯威人》式的幾何比例定義「完美身體」,這種視覺標準無形中成為殖民擴張與種族分類的暴力工具。本文透過分析奈及利亞編舞家庫德斯.奧尼奎庫的舞作《轉轉生》,探討當代非洲舞蹈如何跳脫「標本式」的文化觀看。
Thumbnail
曾經因為工作上的衝突,體驗到被甲方的語言攻擊與情緒勒索的不適,引發我思索如何改變現況。朋友的建議點燃了我嘗試轉職的火苗:成為具有專業技能且不受他人左右的自己。由於在資訊服務產業從事PM工作,自然聯想到專注於程式碼的工程師,他們在工作上相對具有專業技能,更不受甲方干擾。
Thumbnail
曾經因為工作上的衝突,體驗到被甲方的語言攻擊與情緒勒索的不適,引發我思索如何改變現況。朋友的建議點燃了我嘗試轉職的火苗:成為具有專業技能且不受他人左右的自己。由於在資訊服務產業從事PM工作,自然聯想到專注於程式碼的工程師,他們在工作上相對具有專業技能,更不受甲方干擾。
Thumbnail
要轉換到另一個領域,需要投入相當的時間,一旦準備的時間拉得越長,轉職要面臨的壓力也就可能隨之增加。 這次就將 Podcast 先前邀請到多位軟體工程師分享的轉職經驗彙整成整理包,讓大家可以更快找到自己需要的轉職資訊,把更多時間留在提升專業技能上!
Thumbnail
要轉換到另一個領域,需要投入相當的時間,一旦準備的時間拉得越長,轉職要面臨的壓力也就可能隨之增加。 這次就將 Podcast 先前邀請到多位軟體工程師分享的轉職經驗彙整成整理包,讓大家可以更快找到自己需要的轉職資訊,把更多時間留在提升專業技能上!
Thumbnail
若說易卜生的《玩偶之家》為 19 世紀的女性,開啟了一扇離家的窄門,那麼《海妲.蓋柏樂》展現的便是門後的窒息世界。本篇文章由劇場演員 Amily 執筆,同為熟稔文本的演員,亦是深刻體察制度縫隙的當代女性,此文所看見的不僅僅是崩壞前夕的最後發聲,更是女人被迫置於冷酷的制度之下,步步陷入無以言說的困境。
Thumbnail
若說易卜生的《玩偶之家》為 19 世紀的女性,開啟了一扇離家的窄門,那麼《海妲.蓋柏樂》展現的便是門後的窒息世界。本篇文章由劇場演員 Amily 執筆,同為熟稔文本的演員,亦是深刻體察制度縫隙的當代女性,此文所看見的不僅僅是崩壞前夕的最後發聲,更是女人被迫置於冷酷的制度之下,步步陷入無以言說的困境。
Thumbnail
前言:重新定義「被取代」的真正意涵 當我們談論 AI 將在 2030 年「取代」軟體工程師時,這個論述往往過於簡化了一個複雜的轉型過程。真正的問題不是 AI 是否會取代程式設計師,而是哪些工程師會被淘汰,哪些會成為下一代的技術領導者。 歷史告訴我們,每一次技術革命都會重新定義職業的本質,而非簡單
Thumbnail
前言:重新定義「被取代」的真正意涵 當我們談論 AI 將在 2030 年「取代」軟體工程師時,這個論述往往過於簡化了一個複雜的轉型過程。真正的問題不是 AI 是否會取代程式設計師,而是哪些工程師會被淘汰,哪些會成為下一代的技術領導者。 歷史告訴我們,每一次技術革命都會重新定義職業的本質,而非簡單
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News