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