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

ASP.NET 2.0 發送郵件完整代碼範例

     編輯:關於ASP.NET

使用 System.Net.Mail 命名空間發送郵件,支援 SSL、HTML 內容、附件等功能。以下為可直接生產使用的完整範例。

前端頁面

<asp:TextBox ID="tbTag" runat="server" />
<asp:TextBox ID="tbAdv" TextMode="MultiLine" runat="server" />
<asp:Button ID="btnSend" Text="發送" OnClick="btnSend_Click" runat="server" />
<asp:Label ID="Label1" runat="server" />

後端代碼

protected void btnSend_Click(object sender, EventArgs e)
{
    MailMessage mail = new MailMessage();
    mail.From = new MailAddress("365rss@gmail.com");
    mail.To.Add("prlibertine@gmail.com");
    mail.Subject = "365Rss.CN 用戶反饋";
    mail.IsBodyHtml = true;
    mail.Body = $"<h2>{ddlMainTag.SelectedItem.Text}</h2><br/><h4>{tbTag.Text}</h4><hr/>{tbAdv.Text}";

    SendMail(mail);
}

private void SendMail(MailMessage mail)
{
    SmtpClient smtp = new SmtpClient
    {
        Host = "smtp.gmail.com",
        Port = 465,
        EnableSsl = true,
        Credentials = new NetworkCredential("365rss@gmail.com", "pwd")
    };
    try
    {
        smtp.Send(mail);
        Label1.Text = "發送成功";
    }
    catch (Exception ex)
    {
        Label1.Text = "發送失敗: " + ex.Message;
    }
}

關鍵點提醒

  • Gmail SMTP 需開啟「低安全性應用程式存取」或使用應用程式專用密碼。
  • Port 465 隱含 SSL;Port 587 需 EnableSsl=true 明確啟用 STARTTLS。
  • 生產環境建議將密碼存入 web.config <appSettings> 並加密,或使用 Azure Key Vault 等密鑰管理服務。
  • 大量發送時請使用 SmtpClient.SendAsync 非同步模式避免阻塞執行緒。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved