Form mail in asp.net

by WebInfinity 27. giugno 2011 11:47

Oggi vediamo come si crea un form mail in asp.net per l'invio di un'email direttamente da sito web.

Innnanzi tutto dobbiamo creare i controlli sulla pagina aspx e per fare questo possiamo utilizzare i textbox forniti da visual studio 2010

Scelta TextBox in visual studio 2010

così da avere vari controlli per la compilazione della notra form.

A questo punto andiamo ad inserire un button in fondo al form così da poter associarvi un azione. Di seguito trovate il codice:

 

Protected Sub obInvia_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles obInvia.Click
            Dim mailObj As New MailMessage()
            mailObj.From = New MailAddress(otbMail.Text.ToString())
            mailObj.To.Add(New MailAddress("info@tuodominio.it"))
            mailObj.Subject = otbObject.Text.ToString()
            Dim RealMail As String = getHtml(Server.MapPath("TemplateMail/MailGenerica.htm"))
            mailObj.Body = RealMail
            mailObj.Body = mailObj.Body.Replace("<% uNome %>", otbNome.Text.ToString())
            mailObj.Body = mailObj.Body.Replace("<% uAzienda %>", otbAzienda.Text.ToString())
            mailObj.Body = mailObj.Body.Replace("<% uTelefono %>", otbTel.Text.ToString())
            mailObj.Body = mailObj.Body.Replace("<% uCorpo %>", otbMessage.Text.ToString())
            mailObj.Body = mailObj.Body.Replace("<% uAnno %>", Date.Now.Year.ToString())
            mailObj.IsBodyHtml = True
            Dim oSmtp1 As New SmtpClient("mail.tuodominio.it", 587)
            Dim oCredential1 As New NetworkCredential("info@tuodominio.it", "password")
            oSmtp1.DeliveryMethod = SmtpDeliveryMethod.Network
            oSmtp1.UseDefaultCredentials = False
            oSmtp1.Credentials = oCredential1
            oSmtp1.Send(mailObj)
            Session("Nome1") = otbNome.Text.ToString() & " " & otbNome.Text.ToString()
            Session("Mail1") = otbMail.Text.ToString()
            Response.Redirect("pagina-cortesia-mail.html")
End Sub

 

come si vede la mail viene preformattata su un file html il cui codice lo trovate di seguito:

 

<body>
    <div align="center">
        
        <table align="center" cellpadding="4" cellspacing="4" class="style1">
            <tr>
                <td align="left" bgcolor="#C90606">
                    <img alt="" src="http://www.tuodominio.it/Immagini/LogoMail.jpg" /></td>
            </tr>
            <tr>
                <td align="left" style="font-size: small;">
                    <b><% uNome %></b>
                </td>
            </tr>
            <tr>
                <td align="left" style="font-size: small;">
                    <b><% uAzienda %></b>
                </td>
            </tr>
            <tr>
                <td align="left" style="font-size: small;">
                    <b><% uTelefono %></b>
                </td>
            </tr>
            <tr>
                <td align="left" style="font-size: small;">
                    <% uCorpo %>
                </td>
            </tr>
            <tr>
                <td align="center" style="font-size: xx-small; color: #C90606;">
                    <p>© <% uAnno %> Dati azienda o sito per footer</p>
                </td>
            </tr>
        </table>
        
    </div>
</body>

 

In questo modo possiamo avere una mail formattata in html che è sicuramente più gradevole e meglio strutturata.

Noterete alla fine del codice vb un redirect ad una pagina di cortesia che serve per ringraziare il visitatore che ci ha inviato la mail, io ho usato la session ma ci sono altri modi per inviare i dati, vedete voi qual'è quello che preferite.

A questo punto il nostro form è perfettamente funzionante, ora potete modificarlo come meglio credete aggiungendo dropdownlist, radiobutton o quello che più vi interessa.

Tags: , ,

Asp.Net

Aggiungi commento




  Country flag
biuquote
  • Commento
  • Anteprima
Loading


Chi siamo

WebInfinity è una web agency che si occupa di realizzazione siti web in Asp.Net e XHTML, posizionamento sui motori di ricerca e hosting.

Lista mensile