Background
In this article we will learn how to send emails from an ASP.Net C# web application with Multiple 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 multiple 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:
- "Start" - "All Programs" - "Microsoft Visual Studio 2010".
- "File" - "New Project" - "C#" - "Empty web site" (to avoid adding a master page).
- Provide the project a name, such as "SendingEmailsWithMultiCCBCC" or another as you wish and specify the location.
- Then right-click on Solution Explorer and select "Add New Item" - "Default.aspx" page and one class file.
- Drag and drop five Text Boxes, two Buttons and one Lable onto "default.aspx".
The "default.aspx" page design will be as in the following:
I hope you have created the .aspx page as explained above.
To send Emails in ASP.Net, the following namespaces must be added:
- using System.Net.Mail;
- 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:
In the preceding app settings section, we are adding the sender email details 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 class to send email with CC and BCC.
- public static void Email_With_CCandBCC(String ToEmail,string cc,string bcc, String Subj, string Message)
- {
-
-
- HostAdd = ConfigurationManager.AppSettings["Host"].ToString();
- FromEmailid = ConfigurationManager.AppSettings["FromMail"].ToString();
- = ConfigurationManager.AppSettings["word"].ToString();
-
-
- MailMessage mailMessage = new MailMessage();
- mailMessage.From = new MailAddress(FromEmailid);
- mailMessage.Subject = Subj;
- mailMessage.Body = Message;
- mailMessage.IsBodyHtml = true;
-
- string[] ToMuliId = ToEmail.Split(',');
- foreach (string ToEMailId in ToMuliId)
- {
- mailMessage.To.Add(new MailAddress(ToEMailId));
- }
- string[] CCId = cc.Split(',');
- foreach (string CCEmail in CCId)
- {
- mailMessage.CC.Add(new MailAddress(CCEmail));
- }
-
- string[] bccid = bcc.Split(',');
-
- foreach (string bccEmailId in bccid)
- {
- mailMessage.Bcc.Add(new MailAddress(bccEmailId));
- }
- SmtpClient smtp = new SmtpClient();
- smtp.Host = HostAdd;
-
- smtp.EnableSsl = true;
- NetworkCredential NetworkCred = new NetworkCredential();
- NetworkCred.UserName = mailMessage.From.Address;
- NetworkCred.word = ;
- smtp.UseDefaultCredentials = true;
- smtp.Credentials = NetworkCred;
- smtp.Port = 587;
- smtp.Send(mailMessage);
- }
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
I assume you have completed all the preceding steps.
Note
If you are adding multiple recipient To, CC and BCC Email Ids then add the multiple Email Ids separated by commas (,) because in the email function we are splitting the Email Ids with commas (,), If you want some other logic to add or split Email Ids then make the relevant changes in the Email function.
Now call the preceding static function on the button click of the "default.aspx.cs" page as in the following:
- protected void btnsend_Click(object sender, EventArgs e)
- {
- toEmail = txttomail.Text;
- EmailSubj = Convert.ToString(txtsub.Text);
- EmailMsg = Convert.ToString(txtsub.Text);
- ccId = Convert.ToString(txtcc.Text);
- bccId = Convert.ToString(txtBCC.Text);
-
- SendEmail.Email_With_CCandBCC(toEmail,ccId ,bccId ,EmailSubj, EmailMsg);
- }
I assume you have done all the preceding steps, now run the application and add the email details with valid Email Addressees in the To, CC and BCC Email Id TextBox and click on the send button as:
From the preceding example we learned how to send emails with Multiple 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 Multiple 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.