Wednesday, November 4, 2009

Send Email in ASP.Net 2.0 - Feed back Form


Introduction

We are using System.Web.Mail.SmtpMail to send email in dotnet 1.1 which is obsolete in 2.0. The System.Net.Mail.SmtpClient Class will provide us the same feature as that of its predecessor.

This article explains how to use System.Net.Mail namespace to send emails.

Using the code

The HTML Design contains provision to enter sender�s name, email id and his comments. On click of the send email button the details will be sent to the specified email (Admin).

The Send mail functionality is similar to Dotnet 1.1 except for few changes

  1. System.Net.Mail.SmtpClient is used instead of System.Web.Mail.SmtpMail (obsolete in Dotnet 2.0).
  2. System.Net.MailMessage Class is used instead of System.Web.Mail.MailMessage (obsolete in Dotnet 2.0)
  3. The System.Net.MailMessage class collects From address as MailAddress object.
  4. The System.Net.MailMessage class collects To, CC, Bcc addresses as MailAddressCollection.
  5. MailMessage Body Format is replaced by IsBodyHtml

The Code is Self explanatory by itself.

Collapse
      protected void btnSendmail_Click(object sender, EventArgs e)
{
// System.Web.Mail.SmtpMail.SmtpServer is obsolete in 2.0

// System.Net.Mail.SmtpClient is the alternate class for this in 2.0

SmtpClient smtpClient = new SmtpClient();
MailMessage message = new MailMessage();

try
{
MailAddress fromAddress = new MailAddress(txtEmail.Text, txtName.Text);

// You can specify the host name or ipaddress of your server

// Default in IIS will be localhost

smtpClient.Host = "localhost";

//Default port will be 25

smtpClient.Port = 25;

//From address will be given as a MailAddress Object

message.From = fromAddress;

// To address collection of MailAddress

message.To.Add("admin1@yoursite.com");
message.Subject = "Feedback";

// CC and BCC optional

// MailAddressCollection class is used to send the email to various users

// You can specify Address as new MailAddress("admin1@yoursite.com")

message.CC.Add("admin1@yoursite.com");
message.CC.Add("admin2@yoursite.com");

// You can specify Address directly as string

message.Bcc.Add(new MailAddress("admin3@yoursite.com"));
message.Bcc.Add(new MailAddress("admin4@yoursite.com"));

//Body can be Html or text format

//Specify true if it is html message

message.IsBodyHtml = false;

// Message body content

message.Body = txtMessage.Text;

// Send SMTP mail

smtpClient.Send(message);

lblStatus.Text = "Email successfully sent.";
}
catch (Exception ex)
{
lblStatus.Text = "Send Email Failed." + ex.Message;
}
}

License

original source :http://www.codeproject.com/KB/aspnet/EmailApplication.aspx
Thanks to the author :Gowrisankar K Location: India India

Counter