asp.net如何?的群發郵件功能詳解

來源:互聯網
上載者:User
這篇文章主要介紹了asp.net實現的群發郵件功能,結合具體執行個體形式分析了asp.net基於SMTP服務群發QQ郵件的相關操作技巧與注意事項,需要的朋友可以參考下

本文執行個體講述了asp.net實現的群發郵件功能。分享給大家供大家參考,具體如下:

前段時間在幫老師開發的網站中需要用到一個群發郵件的功能,而自己之前學習cms系統的時候用的we7的群發郵件功能也有一些問題,於是乎便自己去網上查了一下資料,自己總結了一下,並且封裝成了一個類,親測有用,支援附件,希望對大家也有些協助,我測試時用的是qq郵箱,成功的前提是要在郵箱設定中開啟smtp服務功能,如qq郵箱設定裡面的賬戶選項卡裡面把需要的功能勾上:

其他郵箱的話原理一樣~~~~~~

using System;using System.Collections.Generic;using System.Linq;using System.Net.Mail;using System.Web;namespace MailSend{  public class SendEmail  {    /// <summary>    /// 群發郵件函數    /// </summary>    /// <param name="subject">發送的主題</param>    /// <param name="body">發送的內容</param>    /// <param name="email_list">收件者清單,通過|來分割開來,可以自己定義</param>    /// <param name="File_Path">發送附件的地址,擷取了路徑後上傳</param>    public static void Send(string subject, string body, string email_list, string File_Path)    {      string MailUser = "XXX@qq.com";//我測試的是qq郵箱,其他郵箱一樣的道理      string MailPwd = "你的密碼";//郵箱密碼      string MailName = "測試";      string MailHost = "smtp.exmail.qq.com";//根據自己選擇的郵箱來查詢smtp的地址      MailAddress from = new MailAddress(MailUser, MailName); //郵件的寄件者      MailMessage mail = new MailMessage();      //設定郵件的標題      mail.Subject = subject;      //設定郵件的寄件者      //Pass:如果不想顯示自己的郵箱地址,這裡可以填符合mail格式的任意名稱,真正發mail的使用者不在這裡設定,這個僅僅只做顯示用      mail.From = from;      //設定郵件的收件者      string address = "";      //傳入多個郵箱,用“|”分割開,可以自己自訂,再通過mail.To.Add()添加到列表      string[] email = email_list.Split('|');      foreach (string name in email)      {        if (name != string.Empty)        {          address = name;          mail.To.Add(new MailAddress(address));        }      }      //設定郵件的抄送收件者      //這個就簡單多了,如果不想快點下崗重要檔案還是CC一份給領導比較好      //mail.CC.Add(new MailAddress("Manage@hotmail.com", "尊敬的領導");      //設定郵件的內容      mail.Body = body;      //設定郵件的格式      mail.BodyEncoding = System.Text.Encoding.UTF8;      mail.IsBodyHtml = true;      //設定郵件的發送層級      mail.Priority = MailPriority.Normal;      //設定郵件的附件,將在用戶端選擇的附件先上傳到伺服器儲存一個,然後加入到mail中      if (File_Path != "")      {        mail.Attachments.Add(new Attachment(File_Path));        mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnSuccess;      }      SmtpClient client = new SmtpClient();      //設定用於 SMTP 事務的主機的名稱,填IP地址也可以了      client.Host = MailHost;      //設定用於 SMTP 事務的連接埠,預設的是 25      client.Port = 25;      client.UseDefaultCredentials = false;      //這裡才是真正的郵箱登陸名和密碼, 我的使用者名稱為 MailUser ,我的密碼是 MailPwd      client.Credentials = new System.Net.NetworkCredential(MailUser, MailPwd);      client.DeliveryMethod = SmtpDeliveryMethod.Network;      ////如果發送失敗,SMTP 伺服器將發送 失敗郵件告訴我      mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;      //都定義完了,正式發送了,很是簡單吧!      client.Send(mail);    }  }}
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.