Sending Emails With Bcc and CC Using ASP.Net C#

Background

In this article we will learn how to send emails from an ASP.Net C# web application with CC and BCC. Let us see step-by-step so beginners also can understand the logic to send emails from any provider. There are many techniques to send emails from ASP.Net  with CC and BCC but in this article we will use a SMTP server with the Gmail provider to send the emails.

Prerequisites

  • Active internet connection.
  • Email id of any provider such as Gmail, Yahoo or your organization to send emails.

Let us create the application to send the emails from ASP.Net as:

  1. "Start" - "All Programs" - "Microsoft Visual Studio 2010".
  2. "File" - "New Project" - "C#" - "Empty web site" (to avoid adding a master page).
  3. Provide the project a name, such as "SendingEmailsWithCCBCC" or another as you wish and specify the location.
  4. Then right-click on Solution Explorer and select "Add New Item" - "Default.aspx" page and one class file.
  5. Drag and drop five Text Boxes and two buttons and one Lable onto "default.aspx".
The "default.aspx" page design will be look like as follows..

defaultpage.jpg

I hope you have created the .aspx page as explained above.

To send Emails in ASP.Net, the following namespaces must be added:

  1. using System.Net.Mail;  
  2. using System.Net;
To learn about the two namespaces above refer to the MSDN.

Now, move to the web.config file and add the email credentials in the app setting section so in the future, if your email credentials are changed then there is no need to change them in your code file since you can simply change the values in your app settings of the web.config file. After adding the credentials, the app setting section of the web.config file looks as in the following:

web config file source code

In the preceding app settings section, we are adding the sender email detail credentials such as email id and word, so we can send the emails and later on we will read these values in the C# code.

Note

In the preceding app Settings section, add your valid email and word so emails can be sent from your email id to others.

Now add the separate class file by right-clicking on the Solution Explorer, however this is not necessary since you can also write this code in the "default.aspx.cs" file but for flexibility we are adding it in a separate code file.

Create the following method inside the SendEmail.cs class to send the email with CC and BCC .

 

  1. public static void Email_With_CCandBCC(String ToEmail,string cc,string bcc, String Subj, string Message)  
  2. {  
  3.     //Reading sender Email credential from web.config file  
  4.   
  5.     HostAdd = ConfigurationManager.AppSettings["Host"].ToString();  
  6.     FromEmailid = ConfigurationManager.AppSettings["FromMail"].ToString();  
  7.     = ConfigurationManager.AppSettings["word"].ToString();  
  8.   
  9.     //creating the object of MailMessage  
  10.     MailMessage mailMessage = new MailMessage();  
  11.     mailMessage.From = new MailAddress(FromEmailid); //From Email Id  
  12.     mailMessage.Subject = Subj; //Subject of Email  
  13.     mailMessage.Body = Message; //body or message of Email  
  14.     mailMessage.IsBodyHtml = true;  
  15.   
  16.     mailMessage.To.Add(new MailAddress(ToEmail)); //receiver's TO Email Id  
  17.   
  18.     mailMessage.CC.Add(new MailAddress(cc)); //Adding CC email Id  
  19.     mailMessage.Bcc.Add(new MailAddress(bcc));  //Adding BCC email Id  
  20.     SmtpClient smtp = new SmtpClient();  // creating object of smptpclient  
  21.     smtp.Host = HostAdd;              //host of emailaddress for example smtp.gmail.com etc  
  22.   
  23.     //network and security related credentials  
  24.   
  25.     smtp.EnableSsl = true;  
  26.     NetworkCredential NetworkCred = new NetworkCredential();  
  27.     NetworkCred.UserName = mailMessage.From.Address;  
  28.     NetworkCred.word = ;  
  29.     smtp.UseDefaultCredentials = true;  
  30.     smtp.Credentials = NetworkCred;  
  31.     smtp.Port = 587;  
  32.     smtp.Send(mailMessage); //sending Email  
  33. }

In the preceding class file, we have created one simple static function to send the emails that takes the following five parameters:

string ToEmail: recipient email id
string Subj: subject of the email
string Message: Email body or message
string cc: cc emailId
string bcc: bcc Email id

Now call the preceding static function on the button click of the "default.aspx.cs" page as in the following:

  1. protected void btnsend_Click(object sender, EventArgs e)  
  2. {  
  3.     toEmail = txttomail.Text;  
  4.     EmailSubj = Convert.ToString(txtsub.Text);  
  5.     EmailMsg = Convert.ToString(txtsub.Text);  
  6.     ccId = Convert.ToString(txtcc.Text);  
  7.     bccId = Convert.ToString(txtBCC.Text);  
  8.     //ing parameter to Email Method  
  9.     SendEmail.Email_With_CCandBCC(toEmail,ccId ,bccId ,EmailSubj, EmailMsg); 
  10. }
I hope you have done all the preceding steps, now run the application and add the email details with valid Email Adresses in To,CC, BCC and Email Id TextBoxes and click on the send button as:

UIEmail.jpg

From the preceding example we learned how to send emails with CC and BCC, I hope you have done it.

Note
  • For detailed code please download the Zip file attached above.
  • Don't forget to update the "Web.config" file for your email credential details.

Summary

We learned how to send emails in ASP.Net with CC and BCC. I hope this article is useful for all students and beginners. If you have any suggestion related to this article then please contact me.