Introduction
In this article, we will see the way to send email in ASP.Net C#. There are several articles on the web for sending an email using ASP.NET and C#. This article explains some important functions and common notable errors.
Follow the below Sample Code.
using System.IO;
using System.Net;
using System.Net.Mail;
string to = "[email protected]";
string from = "[email protected]";
MailMessage message = new MailMessage(from, to);
string mailbody = "Send an 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); // Set Gmail SMTP
System.Net.NetworkCredential basicCredential1 = new System.Net.NetworkCredential("yourEmailId", "Password");
client.EnableSsl = true;
client.UseDefaultCredentials = false;
client.Credentials = basicCredential1;
try
{
client.Send(message);
}
catch (Exception ex)
{
throw ex;
}
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 it to True in UseDefaultCredentials, then that specifies to allow authentication based on the credentials of the account used to send emails.
Common Error
- 5.5.1 Authentication Required
The SMTP server requires a secure connection, or the client was not authenticated. The server response was: 5.5.1 Authentication Required.
Solution
It’s a common error faced in sending emails. To solve this, follow the below steps.
- Enter the correct login password.
- Remove 2-Step Verification.
Conclusion
That's it! With these steps, you will send the email using Asp.Net C#. There are several other ways to do this. But this simple and clean code will help you.