Click here to Skip to main content
15,879,613 members
Articles / Web Development / ASP.NET
Tip/Trick

Send Mail / Contact Form using ASP.NET and C#

Rate me:
Please Sign up or sign in to vote.
4.80/5 (53 votes)
23 Apr 2012CPOL 2.3M   40.5K   34   103
this is the send mail or contact form in asp.net c#

Introduction

For sending mail through ASP.NET and C# website:

Image 1

Background

This code is tested and running well on gmail account.

Using the code

HTML

The code below defines the HTML code of the control:

XML
<%this is the client side code for the design and display%>
<asp:Panel ID="Panel1" runat="server" DefaultButton="btnSubmit">
    <p>
        Please Fill the Following to Send Mail.</p>
    <p>
        Your name:
        <asp:RequiredFieldValidator ID="RequiredFieldValidator11" runat="server" ErrorMessage="*"
            ControlToValidate="YourName" ValidationGroup="save" /><br />
        <asp:TextBox ID="YourName" runat="server" Width="250px" /><br />
        Your email address:
        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="*"
            ControlToValidate="YourEmail" ValidationGroup="save" /><br />
        <asp:TextBox ID="YourEmail" runat="server" Width="250px" />
        <asp:RegularExpressionValidator runat="server" ID="RegularExpressionValidator23"
            SetFocusOnError="true" Text="Example: username@gmail.com" ControlToValidate="YourEmail"
            ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" Display="Dynamic"
            ValidationGroup="save" /><br />
        Subject:
        <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="*"
            ControlToValidate="YourSubject" ValidationGroup="save" /><br />
        <asp:TextBox ID="YourSubject" runat="server" Width="400px" /><br />
        Your Question:
        <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ErrorMessage="*"
            ControlToValidate="Comments" ValidationGroup="save" /><br />
        <asp:TextBox ID="Comments" runat="server" 
                TextMode="MultiLine" Rows="10" Width="400px" />
    </p>
    <p>
        <asp:Button ID="btnSubmit" runat="server" Text="Send" 
                    OnClick="Button1_Click" ValidationGroup="save" />
    </p>
</asp:Panel>
<p>
    <asp:Label ID="DisplayMessage" runat="server" Visible="false" />
</p>  

The server side code:

C#
protected void SendMail()
{
    // Gmail Address from where you send the mail
    var fromAddress = "Gmail@gmail.com";
    // any address where the email will be sending
    var toAddress = YourEmail.Text.ToString(); 
    //Password of your gmail address
    const string fromPassword = "Password";
     // Passing the values and make a email formate to display
    string subject = YourSubject.Text.ToString();
    string body = "From: " + YourName.Text + "\n";
    body += "Email: " + YourEmail.Text + "\n";
    body += "Subject: " + YourSubject.Text + "\n";
    body += "Question: \n" + Comments.Text + "\n";
    // smtp settings
    var smtp = new System.Net.Mail.SmtpClient();
    {
        smtp.Host = "smtp.gmail.com";
        smtp.Port = 587;
        smtp.EnableSsl = true;
        smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
        smtp.Credentials = new NetworkCredential(fromAddress, fromPassword);
        smtp.Timeout = 20000;
    }
    // Passing values to smtp object
    smtp.Send(fromAddress, toAddress, subject, body);
}

protected void Button1_Click(object sender, EventArgs e)
{
    try
    {
        //here on button click what will done 
        SendMail();
        DisplayMessage.Text = "Your Comments after sending the mail";
        DisplayMessage.Visible = true;
        YourSubject.Text = "";
        YourEmail.Text = "";
        YourName.Text = "";
        Comments.Text = "";
    }
    catch (Exception) { }
}

The above code has the validation checks also.

This code is based on the 3.5 framework and also works in the 4.0 framework.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior) Web Technology Solution
Pakistan Pakistan
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
QuestionEmail in separate thread Pin
Faheem Ahmad16-Oct-22 23:09
Faheem Ahmad16-Oct-22 23:09 
QuestionEmail is not working for me..help me.. Pin
Member 1328639729-Jun-17 23:11
Member 1328639729-Jun-17 23:11 
AnswerRe: Email is not working for me..help me.. Pin
Member 1331254516-Jul-17 14:42
Member 1331254516-Jul-17 14:42 
Questionattachment Pin
yousof osman23-May-17 19:09
yousof osman23-May-17 19:09 
QuestionAttachment Pin
Member 1308748427-Mar-17 5:03
Member 1308748427-Mar-17 5:03 
QuestionQuestion on using Pin
Member 128861674-Dec-16 6:34
Member 128861674-Dec-16 6:34 
QuestionSending email through hotmail Pin
Member 1263622921-Jul-16 19:59
Member 1263622921-Jul-16 19:59 
Questionneed help Pin
Member 1232288511-Feb-16 23:04
Member 1232288511-Feb-16 23:04 
AnswerRe: need help Pin
Muhammad Kashif Saeed1-Mar-16 6:15
Muhammad Kashif Saeed1-Mar-16 6:15 
QuestionGetting Exception Pin
Member 1198446714-Sep-15 19:30
Member 1198446714-Sep-15 19:30 
AnswerRe: Getting Exception Pin
Muhammad Kashif Saeed1-Mar-16 6:16
Muhammad Kashif Saeed1-Mar-16 6:16 
Generalthank u sir Pin
mukesh.indya17-Aug-15 17:46
mukesh.indya17-Aug-15 17:46 
GeneralRe: thank u sir Pin
Muhammad Kashif Saeed1-Mar-16 6:17
Muhammad Kashif Saeed1-Mar-16 6:17 
QuestionSENDING A FILE VIA THIS FORM Pin
Syed Asim Ashiq8-Aug-15 6:54
Syed Asim Ashiq8-Aug-15 6:54 
GeneralThanks! Pin
Member 1186065931-Jul-15 5:12
Member 1186065931-Jul-15 5:12 
QuestionWebForms UnobtrusiveValidationMode requires a ScriptResourceMapping for ‘jquery’. Pin
Cooldragonex7-Jul-15 9:24
Cooldragonex7-Jul-15 9:24 
AnswerRe: WebForms UnobtrusiveValidationMode requires a ScriptResourceMapping for ‘jquery’. Pin
Monir Sabbagh20-Feb-16 16:16
Monir Sabbagh20-Feb-16 16:16 
QuestionTo Muhammad Kashif saeed Pin
Qaiser10121-Jun-15 4:28
Qaiser10121-Jun-15 4:28 
AnswerRe: To Muhammad Kashif saeed Pin
Muhammad Kashif Saeed2-Jul-15 2:32
Muhammad Kashif Saeed2-Jul-15 2:32 
QuestionProblem in sending mail while the Contact Page is Published in web server. Pin
Member 113496611-Apr-15 9:06
Member 113496611-Apr-15 9:06 
AnswerRe: Problem in sending mail while the Contact Page is Published in web server. Pin
Muhammad Kashif Saeed2-Jul-15 2:33
Muhammad Kashif Saeed2-Jul-15 2:33 
Questionemail Pin
Member 1147489919-Mar-15 3:07
Member 1147489919-Mar-15 3:07 
QuestionEmail Address Pin
Member 114956503-Mar-15 8:01
Member 114956503-Mar-15 8:01 
AnswerRe: Email Address Pin
Muhammad Kashif Saeed4-Mar-15 19:27
Muhammad Kashif Saeed4-Mar-15 19:27 
Questionstopped working Pin
Member 114035833-Feb-15 0:30
Member 114035833-Feb-15 0:30 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.