[ASP.NET]發送EMAIL詳細解說

用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

 

 

夠仔細了吧!!以後不要再說你不會寄信囉..

 

 

 

 

分享


站作網站設計工作室 SiteMak Studio
Shinyo Ho 
Founder / Developer
email:shinyo.her@gmail.com|web:www.sitemak.com.tw