用ASP.net發送EMAIL的詳細解說
關於ASP.net寄送MAIL的相關文章已經很多了,但我不知道為什麼各大論壇上還是很多在問要怎麼寄??我想不是教學分享者寫的不夠仔細,而是詢問者懶的去GOOGLE?在此分享筆者自己最喜歡的寄信方式,Step by step來看看,希望能讓初學者一次搞懂 :)
首先在後製裡面要 Imports System.Net.Mail 這個我想應該很清楚為什麼了~
Step 1 在Aspx頁中,看你心情,可以放入textbox,button.在此我們先假設我們要發送給textbox中輸入的mail,按下button就寄出
Step 2 在Button1的Click事件中做寄信的程式!我們將程式分段來看
Protected Sub Send_button_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles Send_button.Click
Dim S_name As String = "Shinyo" '定義寄信者名稱
Dim S_email As String = "shinyo.her@gmail.com" '定義寄信者信箱
Dim pro_msg As String
Dim mail As New MailMessage()
mail.To.Add(Textbox1.text) '給收件者(textbox填入值)
mail.From = New MailAddress(S_name & "<" & S_email & ">") '寄件者
mail.IsBodyHtml = True '以Html方式發送
Step 3 設定信件內容(做一個TABLE進去會比較漂亮,也可以在Aspx中再多加入你想要給使用者填的內容
mail.Subject = "標題AA" '主旨
pro_msg = "<table width='650' align='center' cellpadding='3' cellspacing='0'>"
pro_msg += "<tr><td colspan='2'><font size='2'>您好:<br>有新的發問者在論壇上<font color='#da0000'><strong>回覆您的留言</strong></font>!資料如下</font></td></tr></table>"
pro_msg += "<table width='650' border='1' align='center' cellpadding='5' cellspacing='0' bordercolorlight='#6c6b6b' bordercolordark='#ffffff' bgcolor='#E6E6E6'>"
pro_msg += "<tr><td colspan='2' bgcolor='#333333' align='center'><font color='#FFFFFF' size='2'>新回應</font></td></tr>"
pro_msg += "<tr><td width='100' align='center' nowrap bgcolor='#333333'><font color=#FFFFFF size='2'>填寫日期</font></td>"
pro_msg += "<td width='550'><font color='#881A00' size='2'>" & DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") & "</font></td></tr>"
pro_msg += "<tr><td align='center' nowrap bgcolor='#333333'><font color=#FFFFFF size='2'>內容</font></td>"
pro_msg += "<td><font size='2'>" & Re.text & "</font></td></tr>"
mail.Body = pro_msg '將資料塞進內容
Step 4 快結束了阿~就是透過SMTP寄送囉,一個網站內可能不只一支程式要寄信對吧?所以我建議不要把SMTP寫在程式裡,放在Web.config裡叫出來大家都可以用豈不歡樂 :) 在Web.config裡加入 :
<appSettings>
<add key="smtp" value="msa.hinet.net"/>
<!--假設為中華電信,當然你可以用localhost -->
</appSettings>
Step 5 最後一步!把SMTP叫出來,然後...
Dim smtp As New SmtpClient(System.Configuration.ConfigurationManager.AppSettings("smtp"))
smtp.Send(mail) '這就是寄信的動作了阿!!
’可以做個提醒
Response.Write("<script>alert('寄出去拉!!');</script>")
End Sub
夠仔細了吧!!以後不要再說你不會寄信囉..
|