ASP.NET Create Contact Us Form Page

In this example i'm explaining how to Create Contact Us Form In Asp.Net Using C# And VB.NET.

ContactUs Page is essential part of any web site or application, through which users send comments or feedback about site or can contact site admins.

To create contact form in asp.net web applications we need a working SMTP server through which aspx page can send the form data to admins email id.

For this example i'll use Gmail account to send mail on behalf of application to admins gmail id.

Place three Textbox on the page for users to input their name, email id, and subject, add another textbox for entering feedback or comment and set it's TextMode property to MultiLine.

Add RequiredFieldValidators to ensure entry in every field, add one button to send the mail.

HTML SOURCE OF PAGE
   1:  <html xmlns="http://www.w3.org/1999/xhtml">
   2:  <head runat="server">
   3:  <title>Contact Us</title>
   4:  <link href="StyleSheet.css" rel="stylesheet" type="text/css" />  
   5:  </head>
   6:  <body>
   7:  <form id="ContactForm" runat="server">
   8:  <div>
   9:   <fieldset>
  10:  <legend>Contact us</legend> 
  11:  <div class='short_explanation'>* required fields</div>
  12:   
  13:  <div class='container'>
  14:  <asp:Label ID="lblName" runat="server" 
  15:             Text="Your Name*:" CssClass="label"/><br/>
  16:  <asp:TextBox ID="txtName" runat="server"/>
  17:  <asp:RequiredFieldValidator ID="RequiredFieldValidator1" 
  18:                              runat="server" 
  19:                              ControlToValidate="txtName" 
  20:                              ErrorMessage="Enter Your Name" 
  21:                              SetFocusOnError="True">*
  22:  </asp:RequiredFieldValidator><br />
  23:  </div>
  24:   
  25:  <div class='container'>
  26:  <asp:Label ID="lblEmail" runat="server" 
  27:             Text="Email*:" CssClass="label"/><br/>
  28:  <asp:TextBox ID="txtMail" runat="server"/>
  29:  <asp:RequiredFieldValidator ID="RequiredFieldValidator2" 
  30:                              runat="server" 
  31:                              ControlToValidate="txtMail" 
  32:                              ErrorMessage="Please Provide 
  33:                                           Your Email Address" 
  34:                              SetFocusOnError="True">*
  35:  </asp:RequiredFieldValidator><br />
  36:  </div>
  37:   
  38:  <div class='container'>
  39:  <asp:Label ID="lblSubject" runat="server" 
  40:             Text="Subject*:" CssClass="label"/><br/>
  41:  <asp:TextBox ID="txtSubject" runat="server"/>
  42:  <asp:RequiredFieldValidator ID="RequiredFieldValidator3" 
  43:                              runat="server" 
  44:                              ControlToValidate="txtSubject" 
  45:                              ErrorMessage="Please provide 
  46:                                           reason to contact us" 
  47:                              SetFocusOnError="True">*
  48:  </asp:RequiredFieldValidator><br />
  49:  </div>
  50:   
  51:  <div class='container'>
  52:  <asp:Label ID="lblMessage" runat="server" 
  53:             Text="Feedback:" CssClass="label"/><br/>
  54:  <asp:TextBox ID="txtMessage" runat="server" 
  55:               TextMode="MultiLine" Width="268px"/>
  56:  <asp:RequiredFieldValidator ID="RequiredFieldValidator4" 
  57:                              runat="server" 
  58:                              ControlToValidate="txtMessage" 
  59:                              ErrorMessage="Write your feedback" 
  60:                              SetFocusOnError="True">*
  61:  </asp:RequiredFieldValidator><br />
  62:  </div>
  63:   
  64:  <div class='container'>
  65:  <asp:Button ID="btnSubmit" runat="server" 
  66:              Text="Submit" onclick="btnSubmit_Click"/>
  67:  </div>
  68:  <asp:ValidationSummary ID="ValidationSummary1" 
  69:                         runat="server" CssClass="error"/>
  70:  </fieldset>
  71:  <asp:Label ID="Label1" runat="server" Text=""/>
  72:  </div>
  73:      </form>
  74:  </body>
  75:  </html>


Write following code in Click Event of submit button.

C#
01using System;
02using System.Net.Mail;
03protected void btnSubmit_Click(object sender, EventArgs e)
04    {
05        MailMessage feedBack = new MailMessage();
06        feedBack.To.Add("YourGmailId@gmail.com");
07        feedBack.From = new MailAddress("YourGmailId@gmail.com");
08        feedBack.Subject = txtSubject.Text;
09 
10        feedBack.Body = "Sender Name: " + txtName.Text + "<br><br>Sender Email: " + txtMail.Text + "<br><br>" + txtMessage.Text;
11        feedBack.IsBodyHtml = true;
12        SmtpClient smtp = new SmtpClient();
13        smtp.Host = "smtp.gmail.com"; //Or Your SMTP Server Address
14        smtp.Port = 587;
15        smtp.EnableSsl = true;
16        smtp.Credentials = new System.Net.NetworkCredential("YourGmailId@gmail.com", "YourGmailPassword");
17        //Or your Smtp Email ID and Password
18        smtp.Send(feedBack);
19        Label1.Text = "Thanks for contacting us";
20    }

VB.NET
01Protected Sub btnSubmit_Click(sender As Object, e As EventArgs)
02 Dim feedBack As New MailMessage()
03 feedBack.[To].Add("YourGmailId@gmail.com")
04 feedBack.From = New MailAddress("YourGmailId@gmail.com")
05 feedBack.Subject = txtSubject.Text
06 
07 feedBack.Body = (("Sender Name: " + txtName.Text & "<br><br>Sender Email: ") + txtMail.Text & "<br><br>") + txtMessage.Text
08 feedBack.IsBodyHtml = True
09 Dim smtp As New SmtpClient()
10 smtp.Host = "smtp.gmail.com"
11 'Or Your SMTP Server Address
12 smtp.Port = 587
13 smtp.EnableSsl = True
14 smtp.Credentials = New System.Net.NetworkCredential("YourGmailId@gmail.com", "YourGmailPassword")
15 'Or your Smtp Email ID and Password
16 smtp.Send(feedBack)
17 Label1.Text = "Thanks for contacting us"
18End Sub


Contact Us Form In Asp.Net


Download Sample Code


If you like this post than join us or share

12 comments:

prashant said... 1

Amit thanks for adding Contact us page i really need it,
but I dont understand how to use vb code so please tell me the procedure where the vb code put down.
Thanks...


Unknown said... 2

@Prashant: I have attached source code for this article which includes C# And VB versions of page
download and let me know if you need any further assistance


prashant said... 3

Thanks Amit,
Its working good for me.
Add more code related to make good Website, and if possible Add the code for professional menu

Thankssssss...........


prashant said... 4

Amit, I want code for forgotten password and change password please help me.


Unknown said... 5

Please refer Forgot Password Page In Asp.Net


Anonymous said... 6

can u please tell me .. if i make form in html format then how i send the email using c#...its urgent...

please reply me on hiph21@gmail.com


Unknown said... 7

@Above: i didn't get your question, even my contact form is in HTML format only


Anonymous said... 8

hi i have 1 template which have there own contact us form gow to edit and write code for that please mail me at calldimple@gmail.com


Anonymous said... 9

Thanks for informations. Where is the css file? I downloaded files but I didn't find it.


manish said... 10

thank you


Anonymous said... 11

thanks


Unknown said... 12

thank you


can i using this without use SMTP server ??

i want the message show in gridview in admin page ..how can create like this..


Find More Articles