Sending Emails in ASP.NET

Discussion in 'ASP.NET' started by pradeep, Dec 28, 2006.

  1. pradeep

    pradeep Team Leader

    Joined:
    Apr 4, 2005
    Messages:
    1,645
    Likes Received:
    87
    Trophy Points:
    0
    Occupation:
    Programmer
    Location:
    Kolkata, India
    Home Page:
    http://blog.pradeep.net.in

    Introduction



    A very common and extremely useful functionality in Web Developement is sending emails from a Web Application. Some of the very common purposes of sending emails from a web application are, to send feedback to the webmaster of a site or informing a forum member of new post in a thread they subscribed - like Go4Expert, the list is never ending.

    In the .NET Framework the task of sending an email is made very easy. In order to send an email message we need to use the SmtpMail class found in the System.Web.Mail namespace, which contains a static method Send.The simplest way to send an email message is to call the Send method passing an instance of the MailMessage class, the MailMessage class is also found in the System.Web.Mail namespace and it represents an email message.

    Creating a MailMesaage



    The MailMessage class contains properties very similar to CDONTS (the frequently used component used in ASP to send mails).Such properties include: To, From, Cc, Bcc, BodyFormat, Subject, Priority, Body, etc. So, to send an email, we should create an instance of the MailMessage class and set its properties.

    'Create an instance of the MailMessage class

    Dim oMM as New MailMessage()

    Code:
    'Set the properties
    oMM.To = "deepz@go4expert.com"
    oMM.From = "sam@go4expert.com"
      
    'If you want to CC this email to someone
    oMM.Cc = "naveen@codingforums.com"
    
    'If you want to BCC this email to someone
    oMM.Bcc = "pallav@globaldevelopers.net"
    
    'Send the email in text format
    oMM.BodyFormat = MailFormat.Text
     
     '(to send HTML format, you need to change MailFormat.Text to MailFormat.Html)
     'Set the priority - options are High, Low, and Normal
     oMM.Priority = MailPriority.Normal
     
    'Set the subject
    oMM.Subject = "Hello there!"
    
    'Set the body - use VbCrLf to insert a carriage return
    oMM.Body = "Hi!" & vbCrLf & vbCrLf & "Sending an Email from ASP.NET"
    
    Note: You will need to import the System.Web.Mail namespace in your ASP.NET Web page in order to be able to utilize the above code, like this: <% @Import Namespace="System.Web.Mail" %>

    Sending the MailMessage



    Once we have created the MailMessage class instance with all the required properties, sending the email message is a piece of cake. We just need to call the static method Send in the SmtpMail class, passing the MailMessage class instance.

    Code:
    ' Send the message, using the Send method of the SmtpMail class
    SmtpMail.Send(objMM)
    The SmtpMail class uses the SMTP Service built into Windows 2000 to do the work of actually sending the email message. By using the Send method above, the local SMTP server is used to send the email message. In order to specify a different SMTP mail server to use to send the message, set the SmtpServer property:

    Code:
    SmtpMail.SmtpServer = emailServerNameorIP
    Be careful, though. Since this is a static property, changing this value in one ASP.NET Web page will affect all ASP.NET Web pages using sending emails via the SmtpMail object. That is, if in one ASP.NET Web page you set the SmtpServer property to myNewMailServer, and then, in another ASP.NET Web page, do not specify the SmtpServer property, intending to use the default SMTP server, myNewMailServer will be used instead. For that reason, you should probably always specify the SmtpServer property - if you want to use the default SMTP server, simply do:

    Code:
    SmtpMail.SmtpServer = ""
     
  2. pradeep

    pradeep Team Leader

    Joined:
    Apr 4, 2005
    Messages:
    1,645
    Likes Received:
    87
    Trophy Points:
    0
    Occupation:
    Programmer
    Location:
    Kolkata, India
    Home Page:
    http://blog.pradeep.net.in
    Sending Mails with Attachments

    With ASP.Net, it is easy to use the class MailAttachment to send mails with attachments. The following code demonstrates how an attachment can be added to the MailMessage.

    Code:
    <% @Page Language="C#" %>
     <% @Import Namespace="System.Web.Mail" %>
     <%
     MailMessage msgMail = new MailMessage();
     
     msgMail.To = "postmaster@go4expert.com";
     msgMail.From = "aspMan@go4expert.com";
     msgMail.Subject = "Mail With Attachment";
     
     msgMail.BodyFormat = MailFormat.Text;
     msgMail.Body = "Sent a mail with an attachment!";
     msgMail.Attachments.Add(new MailAttachment("F:\\file\\totalPosts.xls"));
     
     SmtpMail.Send(msgMail);
     
     %>
     
  3. haileyjonathan

    haileyjonathan New Member

    Joined:
    Mar 16, 2009
    Messages:
    3
    Likes Received:
    0
    Trophy Points:
    0
    I have a little bit of knowledge about ASP.NET... But I read this thread I gathered some information about coding...thank you verymuch....
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice