Send Email Using ASP.Net With C#


Introduction

There are many more articles on Google for sending an email using ASP.NET and C#. This article explains some important functions and notable errors.

Code


    using System.IO;  
    using System.Net;  
    using System.Net.Mail;  
      
      
    string to = "toaddress@gmail.com"; //To address    
    string from = "fromaddress@gmail.com"; //From address    
    MailMessage message = new MailMessage(from, to);  
      
    string mailbody = "In this article you will learn how to send a email using Asp.Net & C#";  
    message.Subject = "Sending Email Using Asp.Net & C#";  
    message.Body = mailbody;  
    message.BodyEncoding = Encoding.UTF8;  
    message.IsBodyHtml = true;  
    SmtpClient client = new SmtpClient("smtp.gmail.com", 587); //Gmail smtp    
    System.Net.NetworkCredential basicCredential1 = new  
    System.Net.NetworkCredential("yourmail id", "Password");  
    client.EnableSsl = true;  
    client.UseDefaultCredentials = false;  
    client.Credentials = basicCredential1;  
    try   
    {  
        client.Send(message);  
    }   
      
    catch (Exception ex)   
    {  
        throw ex;  
    }  

We must add the following namespace:

using System.Net;    
using System.Net.Mail;  

Simple Mail Transfer Protocol (SMTP)

Simple Mail Transfer Protocol (SMTP) is a TCP/IP protocol used in sending and receiving e-mail. Most e-mail systems that send mail over the Internet use SMTP to send messages from one server to another. The messages can then be retrieved with an e-mail client using either POP or IMAP.

The following is a list of SMTP Server and Port Numbers:

Sl.No Mail Server SMTP Server( Host ) Port Number
1 Gmail smtp.gmail.com 587
2 Outlook smtp.live.com 587
3 Yahoo Mail smtp.mail.yahoo.com 465
4 Yahoo Mail Plus plus.smtp.mail.yahoo.com 465
5 Hotmail smtp.live.com 465
6 Office365.com smtp.office365.com 587
7 zoho Mail smtp.zoho.com 465

Important SMTP Class Properties:

  • Host: Server URL for SMTP (check the preceding table).
  • EnableSsl: Check your host accepts SSL Connections (True or False).
  • Port: Port Number of the SMTP server (check the preceding table).
  • Credentials: Valid login credentials for the SMTP server (the email address and password).
  • UseDefaultCredentials: When we set to True in UseDefaultCredentials then that specifies to allow authentication based on the credentials of the account used to send emails.

Common Error

The following error will occur commonly for everyone. How to solve this? Check my previous blog contents.

Summary

We learned how to send emails using ASP.NET and C#. I hope this article is useful for all .NET beginners.

3 thoughts on “Send Email Using ASP.Net With C#

  1. You are very cool!. Its useful and helpful information for testers…Keep Sharing.
    Thanks , just learn in send mail.

Leave a comment