關於 點部落 團隊
我們是一群普通的程式設計人員,在各自不同的領域發展, 由於對 IT 知識社群發展有一股的熱誠,所以我們一起創造了這個平台, 我們希望透過 點部落平台 能夠創造出更好的 IT 知識技術分享環境。 歡迎您參與點部落,也請給我們意見與指教,讓我們能夠持續的改善, 營造出更好的環境及平台。tw.dotblogs@gmail.com

常用連結

最新回應

Dotjum 今天要介紹的是如何使用 .NET 來透過  Gmail 來寄信,並讀取 htm 自訂信件範本的方式,
也是用在 點部落 網站目前新版本的註冊的通知。
OK,話不多說我們直接來看Code說明,
首先在上一篇中 使用 Windows Live Mail 收 GMail 的信下來 有提到Google Gmail他提供的POP3
伺服器資訊
內送郵件伺服器 (POP3): pop.gmail.com
外寄郵件伺服器 (SMTP): smtp.gmail.com
登入資訊
使用者名稱:輸入您的 Gmail 使用者名稱 (包含 @gmail.com)
密碼:輸入您的 Gmail 密碼
 [外寄伺服器 (SMTP)] 方塊中輸入 465

所以程式碼這邊就做對應的設定

  MailMessage em = new MailMessage();
  em.From = new System.Net.Mail.MailAddress("你的Gmail帳號@gmail.com", "顯示名稱", System.Text.Encoding.UTF8);
  em.SubjectEncoding = System.Text.Encoding.UTF8;    
  em.BodyEncoding = Encoding.UTF8;
  //信件主題
  em.Subject = subject;
  //內容
  em.Body = message;
  em.IsBodyHtml = true;
  System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient();
  //登入帳號認證  
  client.Credentials = new System.Net.NetworkCredential("你的Gmail帳號@gmail.com", "你Gmail的密碼");
  //使用587 Port
  client.Port = 587;
  client.Host = "smtp.gmail.com";
  //啟動SSL
  client.EnableSsl = true;
  //寄出
  client.Send(em);

 

就這樣順利就可以寄出,當然寄送範本這邊 Dotjum 是寫好一個 HTML 的範本 MailTemplate.htm
 

<div>
    $MemberName$  您好:<br />
      
       歡迎您加入專屬於IT技術園地 點部落,這是您的啟動連結 <A href='http://www.dotblogs.com.tw/Register2.aspx?id=$ActiveNo$'>啟動連結 </A>
          <br />請點選您的啟動連結,進行下一步的設定。
</div>

.cs

StreamReader sr = null;
string strBody = "";

//讀取信件範本
try
  {
      sr = new StreamReader(Server.MapPath("信件範本.htm"), Encoding.Default);
      strBody = sr.ReadToEnd();

  }

   catch (Exception ex)
  {
     throw ex;
  }

  finally
  {
    sr.Close();
  }

   //將範本內的特定變數作取代
   strBody = strBody.Replace("$MemberName$", strName);    
   strBody = strBody.Replace("$ActiveNo$", activeGuid);


 就這樣簡單就可以透過 .NET 來使用 Gmail 發送,並讀取自訂信件範本的方式。
看大家有沒有更好的方法,歡迎一起分享一起討論~ 


DotBlogs Tags: Gmail Google

回應

  • 十一 2008/3/18 下午 01:56 回覆

    # re: ASP.NET 使用 GMail 寄信並讀取信件範本(Template.htm)寄送郵件 (Gmail Send Mail ASP.NET)

    感謝Dotjum 提供此方法 :)
    補充一些...
    此方法要 using System.Web.Mail;

    我是要寫在共用類別中
    所以要using的是System.Net.Mail;
    發信要用mail server 來發
    用的也是MailMessage
    :)

  • Net Framework Development 2008/9/9 下午 03:06 回覆

    # re: ASP.NET 使用 GMail 寄信並讀取信件範本(Template.htm)寄送郵件 (Gmail Send Mail ASP.NET)

    thanks for explaining using example...

  • 123 2008/9/20 下午 05:12 回覆

    # re: ASP.NET 使用 GMail 寄信並讀取信件範本(Template.htm)寄送郵件 (Gmail Send Mail ASP.NET)

    123


*標 題:

*姓 名:

 電子郵件: (將不會被顯示)

 個人網頁:

*回應

登入後使用進階評論

Please add 4 and 2 and type the answer here: