本文以 .NET Framework 的 System.Net.Mail 命名空間為基礎,實作一個包含附件、收件人清單(XML 儲存)的郵件發送小程式,適合初學者參考。
using System.Net.Mail; using System.Xml; using System.IO;

private void btnSend_Click(object sender, EventArgs e) {
SmtpClient client = new SmtpClient();
client.Host = this.tbSmtpServer.Text.Trim();
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential(this.tbSender.Text.Trim(), this.tbSenderPassWord.Text.Trim());
client.DeliveryMethod = SmtpDeliveryMethod.Network;
MailMessage message = new MailMessage(this.tbSender.Text.Trim(), this.lbQuester.SelectedItem.ToString());
message.Subject = this.tbTitle.Text.Trim();
message.Body = this.tbContext.Text.Trim();
message.BodyEncoding = System.Text.Encoding.UTF8;
message.IsBodyHtml = true;
// 附件處理
string attachmentName = this.tbAtrrac.Text.Trim();
if (!string.IsNullOrEmpty(attachmentName)) {
Attachment data = new Attachment(attachmentName, System.Net.Mime.MediaTypeNames.Application.Octet);
message.Attachments.Add(data);
}
try {
client.Send(message);
MessageBox.Show("E-Mail 成功發送至: " + this.lbQuester.SelectedItem.ToString());
} catch (Exception ex) {
MessageBox.Show("E-Mail 發送失敗! " + ex.ToString());
}
}
OpenFileDialog。web.config 設定 <globalization requestEncoding="utf-8" responseEncoding="utf-8" />。