Click here to Skip to main content
11,483,003 members (74,679 online)
Click here to Skip to main content

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

, 23 Apr 2012 CPOL 303.1K 28.4K 34
Rate this:
Please Sign up or sign in to vote.
this is the send mail or contact form in asp.net c#

Introduction

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

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:

<%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:

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)

Share

About the Author

Muhammad Kashif Saeed
Software Developer (Senior) Web Technology Solution
Pakistan Pakistan
No Biography provided

Comments and Discussions

 
Generalthanks Pin
abhishek kr singh1114-Dec-12 8:42
memberabhishek kr singh1114-Dec-12 8:42 
GeneralRe: thanks Pin
Muhammad Kashif Saeed15-Dec-12 0:10
memberMuhammad Kashif Saeed15-Dec-12 0:10 
GeneralMy vote of 5 Pin
BlackThorn133710-Dec-12 10:17
memberBlackThorn133710-Dec-12 10:17 
QuestionI want mail when i was sent mail Pin
Manoj Maske5-Nov-12 2:10
memberManoj Maske5-Nov-12 2:10 
QuestionThe operation has timed out Pin
Sthembiso Mtyongwe24-Oct-12 0:29
memberSthembiso Mtyongwe24-Oct-12 0:29 
AnswerRe: The operation has timed out Pin
vcampos200024-Dec-14 6:36
membervcampos200024-Dec-14 6:36 
Questionsmtp mail Pin
Jaiswal Ashok18-Sep-12 3:23
memberJaiswal Ashok18-Sep-12 3:23 
QuestionDefining Proxy in C# plz help .. Pin
fizmhd6-Sep-12 19:42
memberfizmhd6-Sep-12 19:42 
Thanks for such a wonderful article, ...
i am succesful in sending mail ...
i have a problem ...
in my office there is proxy server installed, so using my comapny net i am not able to sent the mail .. can you plz help me ...

i have proxy ip: 192.168.0.1 and port 808,
i am able to sent mail, using other nets, which dont have proxy, plz help ...

thanks in advance ...
Questionerror in mail send code Pin
csp56715-Aug-12 4:26
membercsp56715-Aug-12 4:26 
Questionerror in mail send code Pin
csp56715-Aug-12 4:26
membercsp56715-Aug-12 4:26 
QuestionContact Form Pin
Tom Mein2-Aug-12 23:21
memberTom Mein2-Aug-12 23:21 
QuestionGetting Error Pin
kuldeep158626-Jul-12 3:11
memberkuldeep158626-Jul-12 3:11 
Questiondo i configure something? Pin
Nuha IT21-Jul-12 8:54
memberNuha IT21-Jul-12 8:54 
GeneralThanks Pin
IBDC20-Jul-12 20:43
memberIBDC20-Jul-12 20:43 
QuestionSends to my email Pin
EuphorialXTC18-Jul-12 4:15
memberEuphorialXTC18-Jul-12 4:15 
QuestionRe: Sends to my email Pin
Hetal Bodar21-Aug-13 19:03
memberHetal Bodar21-Aug-13 19:03 
GeneralMade too simple Pin
Member 767933026-Jun-12 12:20
memberMember 767933026-Jun-12 12:20 
GeneralMy vote of 5 Pin
Member 791840923-May-12 6:34
memberMember 791840923-May-12 6:34 
GeneralRe: My vote of 5 Pin
Muhammad Kashif Saeed23-May-12 9:21
memberMuhammad Kashif Saeed23-May-12 9:21 
Generalhelp : Pin
simranjeet kaur25-Apr-12 19:51
membersimranjeet kaur25-Apr-12 19:51 
GeneralRe: help : Pin
cboysworld3-May-12 5:19
membercboysworld3-May-12 5:19 
GeneralRe: help : Pin
Muhammad Kashif Saeed3-May-12 8:28
memberMuhammad Kashif Saeed3-May-12 8:28 
SuggestionRe: help : Pin
Tee_Love25-Jul-12 3:14
memberTee_Love25-Jul-12 3:14 

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

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

| Advertise | Privacy | Terms of Use | Mobile
Web01 | 2.8.150520.1 | Last Updated 23 Apr 2012
Article Copyright 2012 by Muhammad Kashif Saeed
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid