WinHost Support Portal
Language
 
Information
Article ID650
Created On8/14/2009
Modified4/13/2010
Share With Others
How to send email in ASP.NET
ASP.NET 2.0 (and later) has a built in class, System.Net.Mail, to send email. Although the legacy System.Web.Mail class is still available in ASP.NET 2.0, it is recommended that you use System.Net.Mail class to send mail.

VB.NET Code Sample

<%@ Page Language="VB" %> 
<%@ Import Namespace="System.Net.Mail" %> 
<script runat="server"
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) 
 
        Dim strFrom = "postmaster@mydomain.com" 
        Dim strTo = "postmaster@mydomain.com" 
        Dim MailMsg As New MailMessage(New MailAddress(strFrom.Trim()), New MailAddress(strTo)) 
        MailMsg.BodyEncoding = Encoding.Default 
        MailMsg.Subject = "This is a test" 
        MailMsg.Body = "This is a sample message using SMTP authentication" 
        MailMsg.Priority = MailPriority.High 
        MailMsg.IsBodyHtml = True 
        'Smtpclient to send the mail message 
 
        Dim SmtpMail As New SmtpClient 
        Dim basicAuthenticationInfo As New System.Net.NetworkCredential("postmaster@mydoamin.com", "password") 
 
        SmtpMail.Host = "mail.mydomain.com" 
        SmtpMail.UseDefaultCredentials = False 
        SmtpMail.Credentials = basicAuthenticationInfo 
 
        SmtpMail.Send(MailMsg) 
        lblMessage.Text = "Mail Sent"     
    End Sub 
</script> 
<html> 
<body> 
    <form runat="server"
        <asp:Label id="lblMessage" runat="server"></asp:Label> 
    </form> 
</body> 
</html> 

C# Code Sample

<%@ Import Namespace="System.Net" %> 
<%@ Import Namespace="System.Net.Mail" %> 
 
<script language="C#" runat="server"
    protected void Page_Load(object sender, EventArgs e) 
    { 
       //create the mail message 
        MailMessage mail = new MailMessage(); 
 
        //set the addresses 
        mail.From = new MailAddress("postmaster@mydomain.com"); 
        mail.To.Add("postmaster@mydomain.com"); 
        
        //set the content 
        mail.Subject = "This is an email"
        mail.Body = "This is from system.net.mail using C sharp with smtp authentication."
        //send the message 
         SmtpClient smtp = new SmtpClient("mail.mydomain.com"); 
          
         NetworkCredential Credentials = new NetworkCredential("postmaster@mydomain.com", "password"); 
         smtp.Credentials = Credentials;
         smtp.Send(mail); 
         lblMessage.Text = "Mail Sent"
    } 
</script> 
<html> 
<body> 
    <form runat="server"
        <asp:Label id="lblMessage" runat="server"></asp:Label> 
    </form> 
</body> 
</html> 


If you run in to problems using this code, please post in our community forum. Technical support cannot assist with specific coding related issues.