Export (0) Print
Expand All

MailMessage Class

Provides properties and methods for constructing an e-mail message.

For a list of all members of this type, see MailMessage Members.

System.Object
   System.Web.Mail.MailMessage

[Visual Basic]
Public Class MailMessage
[C#]
public class MailMessage
[C++]
public __gc class MailMessage
[JScript]
public class MailMessage

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Example

[Visual Basic] 
<%-- 
This example shows how to send a mail message from a Web Forms page 
using the classes in the System.Web.Mail namespace.
--%>

<%@ IMPORT namespace="System.Web.Mail" %>

<html>
   <script language=VB runat=server>
      Sub Page_Load()
         If Not IsPostback Then
            lblMsg1.Text=""
            txtTo.Text="john@contoso.com"
            txtFrom.Text="marsha@contoso.com"
            txtCc.Text="fred@contoso.com"
            txtBcc.Text="wilma@contoso.com"
            txtSubject.Text="Hello"
            txtBody.Text="This is a test message."
            txtAttach.Text="C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\Sunset.jpg," _
               & "C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\Winter.jpg"
        txtBodyEncoding.Text = Encoding.ASCII.EncodingName
        txtBodyFormat.Text="HTML"
         txtPriority.Text="Normal"
        txtUrlContentBase.Text="http://www.contoso.com/images"
        txtUrlContentLocation.Text="http://www.contoso.com/images"
            ' Name of relay mail server in your domain.
        txtMailServer.Text="smarthost"'
         End If
      End Sub

      Sub btnSubmit_Click(ByVal sender As Object, ByVal e As EventArgs)
         Dim sTo As String, sFrom As String, sSubject As String, sBody As String
         Dim sAttach As String, sCc As String, sBcc As String, sBodyEncoding As String
         Dim sBodyFormat As String, sMailServer As String, sPriority As String
         Dim sUrlContentBase As String, sUrlContentLocation As String
     Dim iLoop1 As Integer

     sTo = Trim(txtTo.Text)
     sFrom = Trim(txtFrom.Text)
     sSubject = Trim(txtSubject.Text)
     sBody = Trim(txtBody.Text)
     sAttach = Trim(txtAttach.Text)
     sCc = Trim(txtCc.Text)
     sBcc = Trim(txtBcc.Text)
     sBodyFormat = Trim(txtBodyFormat.Text)
     sBodyEncoding = Trim(txtBodyEncoding.Text)
     sPriority = Trim(txtPriority.Text)
     sUrlContentBase = Trim(txtUrlContentBase.Text)
     sUrlContentLocation = Trim(txtUrlContentLocation.Text)
     sMailServer = Trim(txtMailServer.Text)

     Dim MyMail As MailMessage = New MailMessage()
     MyMail.From = sFrom
     MyMail.To = sTo
     MyMail.Subject = sSubject
     MyMail.Body = sBody
     MyMail.Cc = sCc
     MyMail.Bcc = sBcc
     MyMail.UrlContentBase = sUrlContentBase
     MyMail.UrlContentLocation = sUrlContentLocation

     Select Case txtBodyEncoding.Text
            Case Encoding.UTF7.EncodingName : MyMail.BodyEncoding = Encoding.UTF7
            Case Encoding.UTF8.EncodingName : MyMail.BodyEncoding = Encoding.UTF8
            Case Else : MyMail.BodyEncoding = Encoding.ASCII
         End Select

     Select Case UCase(sBodyFormat)
            Case "HTML" : MyMail.BodyFormat = MailFormat.Html
            Case Else : MyMail.BodyFormat = MailFormat.Text
         End Select
         
         Select Case UCase(sPriority)
            Case "HIGH" : MyMail.Priority = MailPriority.High
            Case "LOW" : MyMail.Priority = MailPriority.Low
            Case Else : MyMail.Priority = MailPriority.Normal
         End Select
         
         ' Build an IList of mail attachments.
         If sAttach<>"" Then
            Dim delim As Char = ","
            Dim sSubstr As String
            For Each sSubstr in sAttach.Split(delim)
               Dim myAttachment As MailAttachment = New MailAttachment(sSubstr)
               myMail.Attachments.Add(myAttachment)
            Next
         End If
     
         SmtpMail.SmtpServer = sMailServer
     SmtpMail.Send(MyMail)

     lblMsg1.Text="VB Message sent to " & MyMail.To
      End Sub

      Sub btnClear_Click(ByVal sender As Object, ByVal e As EventArgs)
         lblMsg1.Text=""
         txtTo.Text=""
         txtFrom.Text=""
         txtSubject.Text=""
         txtBody.Text=""
         txtAttach.Text=""
         txtBcc.Text=""
         txtCc.Text=""
     txtBodyEncoding.Text=""
     txtBodyFormat.Text=""
      txtPriority.Text=""
     txtUrlContentBase.Text=""
     txtUrlContentLocation.Text=""
     txtMailServer.Text=""
         btnSubmit.Text="Submit"
      End Sub
   </script>

   <p><h4>Send a new mail message:<h4></p>
   <Form method="Post" action="MailForm.aspx" runat=server>
      <table width="350" bgcolor="#FFFF99">
         <tr>
            <td Align="Right"><b>To:</b></td>
            <td><Asp:Textbox id="txtTo" runat=server/></td>
         </tr>
         <tr>
            <h4><td Align="Right"><b>From:</b></td></h4>
            <td><Asp:Textbox id="txtFrom" runat=server/></td>
         </tr>
         <tr>
            <td Align="Right"><b>Subject:</b></td>
            <td><Asp:Textbox id="txtSubject" runat=server/></td>
         </tr>
         <tr>
            <td Align="Right"><b>MessageBody:</b></td>
            <td><Asp:Textbox id="txtBody" runat=server/></td>
         </tr>
         <tr>
            <td Align="Right"><b>Attachments:</b></td>
            <td><Asp:Textbox id="txtAttach" runat=server/></td>
         </tr>
         <tr>
            <td Align="Right"><b>CC:</b></td>
            <td><Asp:Textbox id="txtBcc" runat=server/></td>
         </tr>
         <tr>
            <td Align="Right"><b>BCC:</b></td>
            <td><Asp:Textbox id="txtCc" runat=server/></td>
         </tr>
         <tr>
            <td Align="Right"><b>BodyEncoding:</b></td>
            <td><Asp:Textbox id="txtBodyEncoding" runat=server/></td>
         </tr>
         <tr>
            <td Align="Right"><b>BodyFormat:</b></td>
            <td><Asp:Textbox id="txtBodyFormat" runat=server/></td>
         </tr>
         <tr>
            <td Align="Right"><b>Priority:</b></td>
            <td><Asp:Textbox id="txtPriority" runat=server/></td>
         </tr>
         <tr>
            <td Align="Right"><b>URL Content Base:</b></td>
            <td><Asp:Textbox id="txtUrlContentBase" runat=server/></td>
         </tr>
         <tr>
            <td Align="Right"><b>URL Content Location:</b></td>
            <td><Asp:Textbox id="txtUrlContentLocation" runat=server/></td>
         </tr>
         <tr>
            <td Align="Right"><b>Mail Server:</b></td>
            <td><Asp:Textbox id="txtMailServer" runat=server/></td>
         </tr>
      </table><br>

      <asp:button id="btnSubmit" Text="Submit" OnClick="btnSubmit_Click" runat=server/>
      <asp:button id="btnClear" Text="Clear" OnClick="btnClear_Click" runat=server/>
      <p><asp:Label id="lblMsg1" runat=server/></p>
   </form>
</html>

[C#] 
<%-- 
This example shows how to send a mail message from a Web Forms page
using the classes in the System.Web.Mail namespace.
--%>

<%@ IMPORT namespace="System.Web.Mail" %>

<html>
   <script language=C# runat=server>
      void Page_Load()
      {
         if (!IsPostBack)
         {
            txtTo.Text="john@contoso.com";
            txtFrom.Text="marsha@contoso.com";
            txtCc.Text="fred@contoso.com";
            txtBcc.Text="wilma@contoso.com";
            txtSubject.Text="Hello";
            txtBody.Text="This is a test message.";
            txtAttach.Text=@"C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\Sunset.jpg,"
               + @"C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\Winter.jpg";
        txtBodyEncoding.Text = Encoding.ASCII.EncodingName;
        txtBodyFormat.Text="HTML";
         txtPriority.Text="Normal";
        txtUrlContentBase.Text="http://www.contoso.com/images";
        txtUrlContentLocation.Text="http://www.contoso.com/images";
            // Name of relay mail server in your domain.
        txtMailServer.Text="smarthost";
         }
      }

      void btnSubmit_Click(Object sender, EventArgs e)
      {
         string sTo, sFrom, sSubject, sBody;
         string sAttach, sCc, sBcc, sBodyEncoding;
         string sBodyFormat, sMailServer, sPriority;
         string sUrlContentBase, sUrlContentLocation;
     int iLoop1;

     sTo = txtTo.Text.Trim();
     sFrom = txtFrom.Text.Trim();
     sSubject = txtSubject.Text.Trim();
     sBody = txtBody.Text.Trim();
     sAttach = txtAttach.Text.Trim();
     sCc = txtCc.Text.Trim();
     sBcc = txtBcc.Text.Trim();
     sBodyFormat = txtBodyFormat.Text.Trim();
     sBodyEncoding = txtBodyEncoding.Text.Trim();
     sPriority = txtPriority.Text.Trim();
     sUrlContentBase = txtUrlContentBase.Text.Trim();
     sUrlContentLocation = txtUrlContentLocation.Text.Trim();
     sMailServer = txtMailServer.Text.Trim();

     MailMessage MyMail = new MailMessage();
     MyMail.From = sFrom;
     MyMail.To = sTo;
     MyMail.Subject = sSubject;
     MyMail.Body = sBody;
     MyMail.Cc = sCc;
     MyMail.Bcc = sBcc;
     MyMail.UrlContentBase = sUrlContentBase;
     MyMail.UrlContentLocation = sUrlContentLocation;

         if (txtBodyEncoding.Text == Encoding.UTF7.EncodingName)
            MyMail.BodyEncoding = Encoding.UTF7;
         else if (txtBodyEncoding.Text == Encoding.UTF8.EncodingName)
            MyMail.BodyEncoding = Encoding.UTF8;
         else
            MyMail.BodyEncoding = Encoding.ASCII;

     switch (sBodyFormat.ToUpper())
         {
            case "HTML": 
               MyMail.BodyFormat = MailFormat.Html;
               break;
            default: 
               MyMail.BodyFormat = MailFormat.Text;
               break;
         }
         
         switch (sPriority.ToUpper())
         {
            case "HIGH": 
               MyMail.Priority = MailPriority.High;
               break;
            case "LOW": 
               MyMail.Priority = MailPriority.Low;
               break;
            default: 
               MyMail.Priority = MailPriority.Normal;
               break;
         }
         
         // Build an IList of mail attachments.
         if (sAttach != "")
         {
            char[] delim = new char[] {','};
            foreach (string sSubstr in sAttach.Split(delim))
            {
               MailAttachment MyAttachment = new MailAttachment(sSubstr);
               MyMail.Attachments.Add(MyAttachment);
            }
         }
     
         SmtpMail.SmtpServer = sMailServer;
     SmtpMail.Send(MyMail);
     lblMsg1.Text="C# Message sent to " + MyMail.To;
      }

      void btnClear_Click(Object sender, EventArgs e)
      {
         lblMsg1.Text="";
         txtTo.Text="";
         txtFrom.Text="";
         txtSubject.Text="";
         txtBody.Text="";
         txtAttach.Text="";
         txtBcc.Text="";
         txtCc.Text="";
     txtBodyEncoding.Text="";
     txtBodyFormat.Text="";
      txtPriority.Text="";
     txtUrlContentBase.Text="";
     txtUrlContentLocation.Text="";
     txtMailServer.Text="";
         btnSubmit.Text="Submit";
      }
   </script>

   <p><h4>Send a new mail message:<h4></p>
   <Form method="Post" action="MailForm.aspx" runat=server>
      <table width="350" bgcolor="#FFFF99">
         <tr>
            <td Align="Right"><b>To:</b></td>
            <td><Asp:Textbox id="txtTo" runat=server/></td>
         </tr>
         <tr>
            <h4><td Align="Right"><b>From:</b></td></h4>
            <td><Asp:Textbox id="txtFrom" runat=server/></td>
         </tr>
         <tr>
            <td Align="Right"><b>Subject:</b></td>
            <td><Asp:Textbox id="txtSubject" runat=server/></td>
         </tr>
         <tr>
            <td Align="Right"><b>MessageBody:</b></td>
            <td><Asp:Textbox id="txtBody" runat=server/></td>
         </tr>
         <tr>
            <td Align="Right"><b>Attachments:</b></td>
            <td><Asp:Textbox id="txtAttach" runat=server/></td>
         </tr>
         <tr>
            <td Align="Right"><b>CC:</b></td>
            <td><Asp:Textbox id="txtBcc" runat=server/></td>
         </tr>
         <tr>
            <td Align="Right"><b>BCC:</b></td>
            <td><Asp:Textbox id="txtCc" runat=server/></td>
         </tr>
         <tr>
            <td Align="Right"><b>BodyEncoding:</b></td>
            <td><Asp:Textbox id="txtBodyEncoding" runat=server/></td>
         </tr>
         <tr>
            <td Align="Right"><b>BodyFormat:</b></td>
            <td><Asp:Textbox id="txtBodyFormat" runat=server/></td>
         </tr>
         <tr>
            <td Align="Right"><b>Priority:</b></td>
            <td><Asp:Textbox id="txtPriority" runat=server/></td>
         </tr>
         <tr>
            <td Align="Right"><b>URL Content Base:</b></td>
            <td><Asp:Textbox id="txtUrlContentBase" runat=server/></td>
         </tr>
         <tr>
            <td Align="Right"><b>URL Content Location:</b></td>
            <td><Asp:Textbox id="txtUrlContentLocation" runat=server/></td>
         </tr>
         <tr>
            <td Align="Right"><b>Mail Server:</b></td>
            <td><Asp:Textbox id="txtMailServer" runat=server/></td>
         </tr>
      </table><br>

      <asp:button id="btnSubmit" Text="Submit" OnClick="btnSubmit_Click" runat=server/>
      <asp:button id="btnClear" Text="Clear" OnClick="btnClear_Click" runat=server/>
      <p><asp:Label id="lblMsg1" runat=server/></p>
   </form>
</html>

[C++, JScript] No example is available for C++ or JScript. To view a Visual Basic or C# example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Namespace: System.Web.Mail

Platforms: Windows 2000, Windows XP Professional, Windows Server 2003 family

Assembly: System.Web (in System.Web.dll)

See Also

MailMessage Members | System.Web.Mail Namespace

Show:
© 2015 Microsoft