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

使用 .NET 發送 E-Mail 完整範例

     編輯:關於ASP.NET

專案背景

本文以 .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());
    }
}

補充說明

  • 收件人清單採 XML 儲存,讀寫邏輯略。
  • 附件選取使用 OpenFileDialog。
  • 若發送中文亂碼,請確認 web.config 設定 <globalization requestEncoding="utf-8" responseEncoding="utf-8" />。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved