
Navigator : Home > Tutorials > Email Tutorials > ...
Send Email with Authentication using ASP.NET and C#.NET
This tutorial will show you how to send a simple email message with authentication using ASP.NET 2.0 and C#.NET
Sending a email with Priorities using ASP.NET 2.0 and VB.NET is actually very simple.
We are using Server Intellect and have found that by far, they are the most friendly, responsive, and knowledgeable support team we've ever dealt with!
First, you will need to import the System.Net.Mail namespace.
The System.Net.Mail namespace contains the SmtpClient and MailMessage Classes that we need in order to send the email and specify the user credentials necessary to send authenticated email.
We use the btnSubmit_Click event to do the work.
We then call the emailClient.Send to send the message using the variables from our ASP.NET coded page. We also instantiate a System.Net.NetworkCredential object with the necessary authentication info and then assign that object to the Credentials property of our SmtpClient object.
protected void btnSubmit_Click(object sender, EventArgs e) {
try {
MailMessage message = new MailMessage(txtFrom.Text, txtTo.Text, txtSubject.Text, txtBody.Text); SmtpClient emailClient = new SmtpClient(txtSMTPServer.Text); System.Net.NetworkCredential SMTPUserInfo = new System.Net.NetworkCredential(txtSMTPUser.Text, txtSMTPPass.Text); emailClient.UseDefaultCredentials = false; emailClient.Credentials = SMTPUserInfo; emailClient.Send(message); litStatus.Text = "Message Sent"; } catch (Exception ex) {
litStatus.Text=ex.ToString(); } } |
The front end .aspx page looks something like this:
Yes, it is possible to find a good web host. Sometimes it takes a while. After trying several, we went with Server Intellect and have been very happy. They are the most professional, customer service friendly and technically knowledgeable host we've found so far.
<table width="600" border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#5482fc"> <tr> <td height="50" align="center" class="lgHeader1">How to Send Email with Authentication using ASP.NET 2.0 and C#</td> </tr> </table> <br /> <table width="600" border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#cccccc"> <tr> <td width="100" align="right" bgcolor="#eeeeee" class="header1"> To</td> <td bgcolor="#FFFFFF"><asp:TextBox ID="txtTo" runat="server" Columns="50"></asp:TextBox></td> </tr> <tr> <td width="100" align="right" bgcolor="#eeeeee" class="header1"> From</td> <td bgcolor="#FFFFFF"><asp:TextBox ID="txtFrom" runat="server" Columns="50"></asp:TextBox></td> </tr> <tr> <td align="right" bgcolor="#eeeeee" class="header1"> SMTP Server</td> <td bgcolor="#FFFFFF"><asp:TextBox ID="txtSMTPServer" runat="server" Columns="50"></asp:TextBox></td> </tr> <tr> <td align="right" bgcolor="#eeeeee" class="header1">SMTP User</td> <td bgcolor="#FFFFFF"><asp:TextBox ID="txtSMTPUser" runat="server" Columns="50"></asp:TextBox></td> </tr> <tr> <td align="right" bgcolor="#eeeeee" class="header1">SMTP Pass</td> <td bgcolor="#FFFFFF"><asp:TextBox ID="txtSMTPPass" runat="server" Columns="50"></asp:TextBox></td> </tr> <tr> <td width="100" align="right" bgcolor="#eeeeee" class="header1"> Subject</td> <td bgcolor="#FFFFFF"><asp:TextBox ID="txtSubject" runat="server" Columns="50"></asp:TextBox></td> </tr> <tr> <td width="100" align="right" bgcolor="#eeeeee" class="header1"> Body</td> <td bgcolor="#FFFFFF"><asp:TextBox ID="txtBody" runat="server" Columns="40" TextMode="MultiLine"></asp:TextBox></td> </tr> <tr> <td align="right" bgcolor="#eeeeee" class="header1">Action</td> <td bgcolor="#FFFFFF"><asp:Button ID="btnSubmit" runat="server" Text="Send Email" OnClick="btnSubmit_Click" /></td> </tr> <tr> <td width="100" align="right" bgcolor="#eeeeee" class="header1">Status</td> <td bgcolor="#FFFFFF" class="basix"><asp:Literal ID="litStatus" runat="server"></asp:Literal></td> </tr> </table> |
The flow for the code behind page is as follows.
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Net.Mail;
public partial class _Default : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e) { } protected void btnSubmit_Click(object sender, EventArgs e) {
try {
MailMessage message = new MailMessage(txtFrom.Text, txtTo.Text, txtSubject.Text, txtBody.Text); SmtpClient emailClient = new SmtpClient(txtSMTPServer.Text); System.Net.NetworkCredential SMTPUserInfo = new System.Net.NetworkCredential(txtSMTPUser.Text, txtSMTPPass.Text); emailClient.UseDefaultCredentials = false; emailClient.Credentials = SMTPUserInfo; emailClient.Send(message); litStatus.Text = "Message Sent"; } catch (Exception ex) {
litStatus.Text=ex.ToString(); } } } |
We chose Server Intellect for its dedicated servers, for our web hosting. They have managed to handle virtually everything for us, from start to finish. And their customer service is stellar.
Looking for the VB 2005 Version? Click Here!
Looking for more ASP.NET Tutorials? Click Here!