首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

使用 ASP.NET System.Web.Mail 快速建立郵件發送系統:SMTP 協定、MailMessage 與 SmtpMail 完整實作

     編輯:關於ASP.NET

.NET Framework 內建 System.Web.Mail 命名空間 (注意:.NET 2.0+ 建議改用 System.Net.Mail),讓郵件發送變得極簡單。本文以 .NET 1.1 經典 API 為例,示範完整發送流程。

核心三大物件

  • SmtpMail:設定 SMTP 伺服器 (SmtpMail.SmtpServer),提供靜態 Send 方法。
  • MailMessage:封裝郵件內容 (From、To、Subject、Body、Attachments、Priority、BodyFormat 等)。
  • MailAttachment:代表附件,可由檔案路徑或 Stream 建立。

兩種發送方式

簡易四參數呼叫

SmtpMail.Send("from@test.com", "to@test.com", "主旨", "純文字內容");

適用:簡單通知、無附件、無 HTML 格式需求。

豐富 MailMessage 物件呼叫 (推薦)

MailMessage msg = new MailMessage();
msg.From = "sender@company.com";
msg.To = "receiver@company.com";
msg.Subject = "測試 HTML 郵件";
msg.BodyFormat = MailFormat.Html;
msg.Body = "<h1>你好</h1><p>這是<b>HTML</b>郵件</p>";
msg.Priority = MailPriority.High;
msg.Fields.Add("https://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); // 基本認證
msg.Fields.Add("https://schemas.microsoft.com/cdo/configuration/sendusername", "smtp_user");
msg.Fields.Add("https://schemas.microsoft.com/cdo/configuration/sendpassword", "smtp_pwd");

SmtpMail.SmtpServer = "smtp.company.com:25";
SmtpMail.Send(msg);

關鍵屬性對照表

屬性說明範例值
BodyFormat郵件格式MailFormat.Html / MailFormat.Text
Priority優先級High / Normal / Low
Attachments附件集合msg.Attachments.Add(new MailAttachment("file.pdf"))
FieldsCDO 設定 (認證、SSL、Port 等)見上方程式碼

執行環境需求

  • 本機或遠端 SMTP 服務啟動 (IIS 6.0 SMTP 虛擬伺服器或 Exchange)。
  • 防火牆開放 TCP 25/587/465 埠。
  • .NET Framework 1.1 / 2.0+ (2.0 請改用 System.Net.Mail.SmtpClient,API 更完整、支援 SSL)。

幾行代碼即可整合郵件通知、密碼重設、訂單確認等核心功能,是 ASP.NET 應用不可或缺的基礎設施。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved