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

Dotjum 今天要介紹的是如何使用 .NET 來透過 Gmail 來寄信,並讀取 htm 自訂信件範本的方式,
也是用在 點部落 網站目前新版本的註冊的通知。

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 發送,並讀取自訂信件範本的方式。
看大家有沒有更好的方法,歡迎一起分享一起討論~