用戶註冊 → 格式驗證 → 發送激活郵件 → 用戶點擊鏈接 → 帳號啟用。確保郵箱真實有效且屬於用戶本人。
已棄用,僅供維護舊專案參考。
using System.Web.Mail;
public void Send(string to, string from, string subject, string body, string username, string password, string smtpHost)
{
MailMessage mail = new MailMessage();
mail.To = to;
mail.From = from;
mail.Subject = subject;
mail.BodyFormat = MailFormat.Html;
mail.Body = body;
// CDOSYS 組態欄位
mail.Fields.Add("https://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
mail.Fields.Add("https://schemas.microsoft.com/cdo/configuration/sendusername", username); // 僅 @ 前部分
mail.Fields.Add("https://schemas.microsoft.com/cdo/configuration/sendpassword", password);
SmtpMail.SmtpServer = smtpHost;
SmtpMail.Send(mail);
}
核心類別:System.Web.Mail.SmtpMail、MailMessage,底層仰賴 CDOSYS COM 組件。
全新托管實現,無 COM 依賴。
using System.Net.Mail;
using System.Net;
public void Send(string to, string from, string subject, string body, string userName, string password, string smtpHost)
{
var fromAddr = new MailAddress(from);
var toAddr = new MailAddress(to);
var message = new MailMessage(fromAddr, toAddr);
message.Subject = subject;
message.IsBodyHtml = true;
message.Body = body;
var client = new SmtpClient(smtpHost);
client.Credentials = new NetworkCredential(userName, password); // 僅 @ 前部分
client.Send(message);
}
核心類別:System.Net.Mail.MailMessage、SmtpClient、System.Net.NetworkCredential。
username 均為郵箱 @ 符號前部分(如 zhou@163.com → zhou)MailMessage 重構:新版採用 MailAddress 封裝地址,支援顯示名稱、編碼等豐富功能SmtpClient 支援 SSL、非同步發送、大附件流式處理等進階特性SmtpException,需捕獲記錄所有新專案強制使用 System.Net.Mail。舊專案應規劃遷移,CDOSYS 組件在新版 Windows/IIS 上可能不可用或有安全風險。