MailMessage 类

定义

注意

The recommended alternative is System.Net.Mail.MailMessage. http://go.microsoft.com/fwlink/?linkid=14202

提供用于构造电子邮件的属性和方法。 建议使用的替代项:System.Net.Mail

public ref class MailMessage
public class MailMessage
[System.Obsolete("The recommended alternative is System.Net.Mail.MailMessage. http://go.microsoft.com/fwlink/?linkid=14202")]
public class MailMessage
type MailMessage = class
[<System.Obsolete("The recommended alternative is System.Net.Mail.MailMessage. http://go.microsoft.com/fwlink/?linkid=14202")>]
type MailMessage = class
Public Class MailMessage
继承
MailMessage
属性

示例

下面的示例演示如何使用 MailMessage 类。

重要

此控件具有接受用户输入的文本框,这是潜在的安全威胁。 默认情况下,ASP.NET 网页验证用户输入是否不包含脚本或 HTML 元素。 有关详细信息,请参阅脚本侵入概述

<%-- 
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" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Mail Form Example</title>
</head>
<body>

   <h4>Send a new mail message:</h4>
   <form id="form1" method="Post" action="MailForm.aspx" runat="server">
      <table style="width:350; background-color:#FFFF99">
         <tr>
            <td align="Right"><b>To:</b></td>
            <td><Asp:Textbox id="txtTo" runat="server"/></td>
         </tr>
         <tr>
            <td align="Right"><b>From:</b></td>
            <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>
   </body>
</html>
<%-- 
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" %>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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>
<html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
    <title>Send a new mail message:</title>
</head>
    <body>
   <h4>Send a new mail message:</h4>
   <form id="form1" method="Post" action="MailForm.aspx" runat="server">
      <table style="width:350; background-color:#FFFF99">
         <tr>
            <td align="Right"><b>To:</b></td>
            <td><Asp:Textbox id="txtTo" runat="server"/></td>
         </tr>
         <tr>
            <td align="Right"><b>From:</b></td>
            <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>
   </body>
</html>

构造函数

MailMessage()

初始化 MailMessage 类的新实例。 建议使用的替代项:System.Net.Mail

属性

Attachments

指定随电子邮件一起传送的附件集合。 建议使用的替代项:System.Net.Mail

Bcc

获取或设置以分号分隔的电子邮件地址列表,这些地址接收电子邮件的密件抄送 (BCC)。 建议使用的替代项:System.Net.Mail

Body

获取或设置电子邮件的正文。 建议使用的替代项:System.Net.Mail

BodyEncoding

获取或设置电子邮件正文的编码类型。 建议使用的替代项:System.Net.Mail

BodyFormat

获取或设置电子邮件正文的内容类型。 建议使用的替代项:System.Net.Mail

Cc

获取或设置以分号分隔的电子邮件地址列表,这些地址接收电子邮件的抄送 (CC)。 建议使用的替代项:System.Net.Mail

Fields

获取一个映射到 Microsoft 协作数据对象 (CDO) 字段的对象的集合。 建议使用的替代项:System.Net.Mail

From

获取或设置发件人的电子邮件地址。 建议使用的替代项:System.Net.Mail

Headers

指定随电子邮件一起传输的自定义标头。 建议使用的替代项:System.Net.Mail

Priority

获取或设置电子邮件的优先级。 建议使用的替代项:System.Net.Mail

Subject

获取或设置电子邮件的主题行。 建议使用的替代项:System.Net.Mail

To

获取或设置以分号分隔的收件人电子邮件地址列表。 建议使用的替代项:System.Net.Mail

UrlContentBase

获取或设置 Content-Base HTTP 标头,即在 HTML 编码的电子邮件正文中使用的所有相对 URL 的 URL 基。 建议使用的替代项:System.Net.Mail

UrlContentLocation

获取或设置电子邮件的 Content-Location HTTP 标头。 建议使用的替代项:System.Net.Mail

方法

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
ToString()

返回表示当前对象的字符串。

(继承自 Object)

适用于