MailDefinitionとは? わかりやすく解説

MailDefinition クラス

メモ : このクラスは、.NET Framework version 2.0新しく追加されたものです。

コントロールテキスト ファイルまたは文字列から電子メール メッセージ作成できるようにします。このクラス継承できません。

名前空間: System.Web.UI.WebControls
アセンブリ: System.Web (system.web.dll 内)
構文構文

<BindableAttribute(False)> _
Public NotInheritable Class
 MailDefinition
    Implements IStateManager
Dim instance As MailDefinition
[BindableAttribute(false)] 
public sealed class MailDefinition : IStateManager
[BindableAttribute(false)] 
public ref class MailDefinition sealed : IStateManager
/** @attribute BindableAttribute(false) */ 
public final class MailDefinition implements
 IStateManager
BindableAttribute(false) 
public final class MailDefinition implements
 IStateManager
解説解説
使用例使用例

Web フォーム ページからインターネット 電子メール メッセージ作成するコード例次に示しますフォームメッセージテキスト入力するか、メール本文として使用するテキスト ファイルの名前を入力できます。このコードは、メッセージに対して 2 つ文字列置換定義しますフォームの [To] ボックス受信リストにより、文字列 "<%To%>" が置換され、From プロパティ指定されテキストにより、文字列 "<%From%>" が置換されます。

このコード生成される Web フォーム ページの [Create e-mail and display only] をクリックすると、電子メール メッセージ作成してMailMessage オブジェクトプロパティWeb ページ表示できます。[Create e-mail and send] をクリックすると、Web ページ電子メール メッセージ表示しインターネット電子メール使用して受信者にメッセージ送信します

<%@ page language="VB"%>
<%@ import namespace="System.Net.Mail"%>
<%@ import namespace="System.Reflection"%>
<%@ import namespace="System.Collections.Specialized"%>
<script runat="server">               
    Function ShowMessage(ByVal msg As
 System.Net.Mail.MailMessage) As HtmlTable
        Dim table As HtmlTable = New
 HtmlTable
        Dim topRow As HtmlTableRow = New
 HtmlTableRow
        Dim fieldHeaderCell As HtmlTableCell
 = New HtmlTableCell
        Dim valueHeaderCell As HtmlTableCell
 = New HtmlTableCell

        fieldHeaderCell.InnerText = "Field"
        topRow.Cells.Add(fieldHeaderCell)
        valueHeaderCell.InnerText = "Value"
        topRow.Cells.Add(valueHeaderCell)
        table.Rows.Add(topRow)

        Dim p As PropertyInfo
        For Each p In msg.GetType().GetProperties()
            Dim row As HtmlTableRow = New
 HtmlTableRow
            Dim labelCell As HtmlTableCell
 = New HtmlTableCell
            Dim valueCell As HtmlTableCell
 = New HtmlTableCell
        
            If (Not ((p.Name = "Headers")
 Or _
                   (p.Name = "Fields") Or
 _
                   (p.Name = "Attachments"))) Then
                labelCell.InnerText = String.Format("{0}",
 p.Name)
                row.Cells.Add(labelCell)
            
                valueCell.InnerText = String.Format("{0}",
 p.GetValue(msg, Nothing))
                row.Cells.Add(valueCell)
            End If
            table.Rows.Add(row)
        Next
        Return table
    End Function

    Function CreateMessage() As System.Net.Mail.MailMessage
        Dim md As MailDefinition = New
 MailDefinition

        md.BodyFileName = sourceMailFile.Text

        md.CC = sourceCC.Text

        md.From = sourceFrom.Text

        md.Subject = sourceSubject.Text

        If sourcePriority.SelectedValue = "Normal"
 Then
            md.Priority = MailPriority.Normal
        ElseIf sourcePriority.SelectedValue = "High"
 Then
            md.Priority = MailPriority.High
        ElseIf sourcePriority.SelectedValue = "Low"
 Then
            md.Priority = MailPriority.Low
        End If

        Dim replacements As ListDictionary
 = New ListDictionary
        replacements.Add("<%To%>", sourceTo.Text)
        replacements.Add("<%From%>", sourceFrom.Text)

        If useFile.Checked Then
            Dim fileMsg As System.Net.Mail.MailMessage
            fileMsg = md.CreateMailMessage(sourceTo.Text, replacements, Me)
            Return fileMsg
        Else
            Dim textMsg As System.Net.Mail.MailMessage
            textMsg = md.CreateMailMessage(sourceTo.Text, replacements, sourceBodyText.Text,
 Me)
            Return textMsg
        End If
    End Function

    Sub createEMail_Click(ByVal sender As
 Object, ByVal e As EventArgs)
        Dim msg As System.Net.Mail.MailMessage
 = CreateMessage()
        PlaceHolder1.Controls.Add(ShowMessage(msg))
    End Sub

    Sub sendEMail_Click(ByVal sender As
 Object, ByVal e As EventArgs)
        Dim msg As System.Net.Mail.MailMessage
 = CreateMessage()
        PlaceHolder1.Controls.Add(ShowMessage(msg))

        Try
            Dim sc As SmtpClient
            sc = New SmtpClient()
            sc.Send(msg)
        Catch ex As Exception
            errorMsg.Text = ex.ToString()
        End Try
    End Sub

</script>
<html>
    <body>
        <form id="Form1" runat="server">
            <table id="Table1" cellspacing="1"
 cellpadding="1" width="450px"
 align="center">
                <tr>
                    <td align="center" colspan="3">
                        <h3>Create an e-mail message</h3>
                <tr>
                    <td align="right">To:</td>
                    <td style="WIDTH: 10px">
                    </td>
                    <td>
                        <asp:textbox id="sourceTo"
 runat="server" columns="54"></asp:textbox>&nbsp;<asp:requiredfieldvalidator
 id="RequiredFieldValidator1" runat="server" errormessage="*"
                                                                                
                       controltovalidate="sourceTo"></asp:requiredfieldvalidator></td>
                </tr>
                <tr>
                    <td align="right">Cc:</td>
                    <td style="WIDTH: 10px">
                    </td>
                    <td>
                        <asp:textbox id="sourceCC"
 runat="server" columns="54"></asp:textbox>&nbsp;</td>
                </tr>
                <tr>
                    <td align="right">From:</td>
                    <td style="WIDTH: 10px">
                    </td>
                    <td>
                        <asp:textbox id="sourceFrom"
 runat="server" columns="54"></asp:textbox>&nbsp;<asp:requiredfieldvalidator
 id="RequiredFieldValidator2" runat="server" errormessage="*"
                                                                                
                         controltovalidate="sourceFrom"></asp:requiredfieldvalidator></td>
                </tr>
                <tr>
                    <td align="right">
                    Priority
                    <td style="WIDTH: 10px">
                    </td>
                    <td>
                        <asp:dropdownlist id="sourcePriority"
 runat="server">
                            <asp:listitem value="Low">Low</asp:listitem>
                            <asp:listitem value="Normal"
 selected="true">Normal</asp:listitem>
                            <asp:listitem value="High">High</asp:listitem>
                        </asp:dropdownlist>&nbsp;</td>
                    <td>
                    </td>
                </tr>
                <tr>
                    <td align="right">Subject:</td>
                    <td style="WIDTH: 10px">
                    </td>
                    <td>
                        <asp:textbox id="sourceSubject"
 runat="server" columns="54"></asp:textbox>&nbsp;</td>
                </tr>
                <tr>
                    <td align="right">Source:</td>
                    <td style="WIDTH: 10px">
                    </td>
                    <td>
                        <table id="Table2" cellspacing="1"
 cellpadding="1" width="100%">
                            <tr>
                                <td style="WIDTH: 100px">
                                    <asp:radiobutton id="useFile"
 runat="server" text="Use file"
 width="80px" groupname="textSource"
                                        checked="True"></asp:radiobutton>&nbsp;</td>
                                <td style="WIDTH: 11px">
                                </td>
                                <td>
                                    <p align="right">File
 name:</p>
                                </td>
                                <td>
                                    <asp:textbox id="sourceMailFile"
 runat="server" columns="22">mail.txt</asp:textbox>&nbsp;</td>
                            </tr>
                            <tr>
                                <td style="WIDTH: 100px">
                                    <asp:radiobutton id="useText"
 runat="server" text="Enter text"
 width="80px" height="22px"
                                        groupname="textSource"></asp:radiobutton>&nbsp;</td>
                                <td style="WIDTH: 11px">
                                </td>
                                <td>
                                </td>
                                <td>
                                </td>
                            </tr>
                        </table>
                    </td>
                    <td>&nbsp;</td>
                </tr>
                <tr>
                    <td align="center" colspan="3">
                        <asp:textbox id="sourceBodyText"
 runat="server" columns="51"
 textmode="MultiLine"
                            rows="15"></asp:textbox>&nbsp;</td>
                </tr>
                <tr>
                    <td align="center" colspan="3">
                        <asp:button id="createEMail"
 runat="server" text="Create e-mail
 and display only"
                            onclick="createEMail_Click"></asp:button>
                        <asp:button id="sendEMail"
 runat="server" text="Create e-mail
 and send"></asp:button></td>
                </tr>
            </table>
            <p>&nbsp;</p>
            <p>
                <asp:placeholder id="PlaceHolder1"
 runat="server"></asp:placeholder>&nbsp;</p>
            <p>
                <asp:literal id="errorMsg" runat="server"></asp:literal></p>
        </form>
    </body>
</html>
<%@ page language="C#"%>
<%@ import namespace="System.Net.Mail"%>
<%@ import namespace="System.Reflection"%>
<%@ import namespace="System.Collections.Specialized"%>
<script runat="server">

    HtmlTable ShowMessage(System.Net.Mail.MailMessage msg)
    {
        HtmlTable table = new HtmlTable();
        HtmlTableRow topRow = new HtmlTableRow();
        HtmlTableCell fieldHeaderCell = new HtmlTableCell();
        HtmlTableCell valueHeaderCell = new HtmlTableCell();
        fieldHeaderCell.InnerText = "Field";
        topRow.Cells.Add(fieldHeaderCell);
        valueHeaderCell.InnerText = "Value";
        topRow.Cells.Add(valueHeaderCell);
        table.Rows.Add(topRow);
        
        foreach(PropertyInfo p in msg.GetType().GetProperties())
        {
            HtmlTableRow row = new HtmlTableRow();
            
            HtmlTableCell labelCell = new HtmlTableCell();
            
            HtmlTableCell valueCell = new HtmlTableCell();
 
            if (!((p.Name == "Headers") ||
                  (p.Name == "Fields")  ||
                  (p.Name == "Attachments")))
            {            
                labelCell.InnerText = String.Format("{0}",p.Name);
                row.Cells.Add(labelCell);

                valueCell.InnerText = String.Format("{0}",p.GetValue(msg
,null));
                row.Cells.Add(valueCell);
            }
            
            table.Rows.Add(row);
        }
        
        return table;
    }
    
    System.Net.Mail.MailMessage CreateMessage()
    {
        MailDefinition md = new MailDefinition();
        md.BodyFileName = sourceMailFile.Text;
        md.CC = sourceCC.Text;
        md.From = sourceFrom.Text;
        md.Subject = sourceSubject.Text;
        if (sourcePriority.SelectedValue == "Normal")
        {
            md.Priority = MailPriority.Normal;
        }
        else if (sourcePriority.SelectedValue
 == "High")
        {
            md.Priority = MailPriority.High;
        }
        else if (sourcePriority.SelectedValue
 == "Low")
        {
            md.Priority = MailPriority.Low;
        }
        
        ListDictionary replacements = new ListDictionary();
        replacements.Add("<%To%>",sourceTo.Text);
        replacements.Add("<%From%>", md.From);
        if (true == useFile.Checked)
        { 
            System.Net.Mail.MailMessage fileMsg;
            fileMsg = md.CreateMailMessage(sourceTo.Text, replacements, this);
 
            return fileMsg;
        } 
        else
        {
            System.Net.Mail.MailMessage textMsg;
            textMsg = md.CreateMailMessage(sourceTo.Text, replacements, sourceBodyText.Text,
 this);
            return textMsg;
        }
    }
    
    void createEMail_Click(object sender, System.EventArgs e)
    {
        System.Net.Mail.MailMessage msg = CreateMessage();
        
        PlaceHolder1.Controls.Add(ShowMessage(msg));          
    }
    
    void sendEMail_Click(object sender, System.EventArgs e)
    {
        System.Net.Mail.MailMessage msg = CreateMessage();
        
        PlaceHolder1.Controls.Add(ShowMessage(msg));          
        
        errorMsg.Text = String.Empty;
        try {
            SmtpClient sc = new SmtpClient();
            sc.Send(msg);
        }
        catch (HttpException ex) {
          errorMsg.Text = ex.ToString();
        }
    }
    
</script>
<html>
    <body>
        <form id="Form1" runat="server">
            <table id="Table1" cellspacing="1" cellpadding="1"
 width="450px" align="center">
                <tr>
                    <td align="center" colspan="3">
                        <h3>Create an e-mail message</h3>
                <tr>
                    <td align="right">To:</td>
                    <td style="WIDTH: 10px">
                    </td>
                    <td>
                        <asp:textbox id="sourceTo" runat="server"
 columns="54"></asp:textbox>&nbsp;<asp:requiredfieldvalidator
 id="RequiredFieldValidator1" runat="server" errormessage="*"
                                                                                
                       controltovalidate="sourceTo"></asp:requiredfieldvalidator></td>
                </tr>
                <tr>
                    <td align="right">Cc:</td>
                    <td style="WIDTH: 10px">
                    </td>
                    <td>
                        <asp:textbox id="sourceCC" runat="server"
 columns="54"></asp:textbox>&nbsp;</td>
                </tr>
                <tr>
                    <td align="right">From:</td>
                    <td style="WIDTH: 10px">
                    </td>
                    <td>
                        <asp:textbox id="sourceFrom" runat="server"
 columns="54"></asp:textbox>&nbsp;<asp:requiredfieldvalidator
 id="RequiredFieldValidator2" runat="server" errormessage="*"
                                                                                
                         controltovalidate="sourceFrom"></asp:requiredfieldvalidator></td>
                </tr>
                <tr>
                    <td align="right">Subject:</td>
                    <td style="WIDTH: 10px">
                    </td>
                    <td>
                        <asp:textbox id="sourceSubject" runat="server"
 columns="54"></asp:textbox>&nbsp;</td>
                </tr>
                <tr>
                    <td align="right">
                    Priority
                    <td style="WIDTH: 10px">
                    </td>
                    <td>
                        <asp:dropdownlist id="sourcePriority" runat="server">
                            <asp:listitem value="Low">Low</asp:listitem>
                            <asp:listitem value="Normal" selected="true">Normal</asp:listitem>
                            <asp:listitem value="High">High</asp:listitem>
                        </asp:dropdownlist>&nbsp;</td>
                    <td>
                    </td>
                </tr>
                <tr>
                    <td align="right">Source:</td>
                    <td style="WIDTH: 10px">
                    </td>
                    <td>
                        <table id="Table2" cellspacing="1"
 cellpadding="1" width="100%">
                            <tr>
                                <td style="WIDTH: 100px">
                                    <asp:radiobutton id="useFile" runat="server"
 text="Use file" width="80px" groupname="textSource"
                                        checked="True"></asp:radiobutton>&nbsp;</td>
                                <td style="WIDTH: 11px">
                                </td>
                                <td>
                                    <p align="right">File name:</p>
                                </td>
                                <td>
                                    <asp:textbox id="sourceMailFile"
 runat="server" columns="22">mail.txt</asp:textbox>&nbsp;</td>
                            </tr>
                            <tr>
                                <td style="WIDTH: 100px">
                                    <asp:radiobutton id="useText" runat="server"
 text="Enter text" width="80px" height="22px"
                                        groupname="textSource"></asp:radiobutton>&nbsp;</td>
                                <td style="WIDTH: 11px">
                                </td>
                                <td>
                                </td>
                                <td>
                                </td>
                            </tr>
                        </table>
                    </td>
                    <td>&nbsp;</td>
                </tr>
                <tr>
                    <td align="center" colspan="3">
                        <asp:textbox id="sourceBodyText" runat="server"
 columns="51" textmode="MultiLine"
                            rows="15"></asp:textbox>&nbsp;</td>
                </tr>
                <tr>
                    <td align="center" colspan="3">
                        <asp:button id="createEMail" runat="server"
 text="Create e-mail and display only"
                            onclick="createEMail_Click"></asp:button>
                        <asp:button id="sendEMail" runat="server"
 text="Create e-mail and send"></asp:button></td>
                </tr>
            </table>
            <p>&nbsp;</p>
            <p>
                <asp:placeholder id="PlaceHolder1" runat="server"></asp:placeholder>&nbsp;</p>
            <p>
                <asp:literal id="errorMsg" runat="server"></asp:literal></p>
        </form>
    </body>
</html>
.NET Framework のセキュリティ.NET Frameworkセキュリティ
継承階層継承階層
System.Object
  System.Web.UI.WebControls.MailDefinition
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
MailDefinition メンバ
System.Web.UI.WebControls 名前空間
SmtpClient
MailMessage
EmbeddedMailObject クラス

MailDefinition コンストラクタ


MailDefinition プロパティ


MailDefinition メソッド


パブリック メソッドパブリック メソッド

プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 System.Web.UI.IStateManager.LoadViewState SaveViewState メソッドによって保存され前回ページ要求からビューステート情報復元します。
インターフェイスの明示的な実装 System.Web.UI.IStateManager.SaveViewState ページサーバーポスト バックされた時間以降発生したサーバー コントロールビューステート変更保存します
インターフェイスの明示的な実装 System.Web.UI.IStateManager.TrackViewState サーバー コントロールビューステート変更追跡させ、サーバー コントロールの StateBag オブジェクト変更格納できるようにします。
参照参照

関連項目

MailDefinition クラス
System.Web.UI.WebControls 名前空間
SmtpClient
MailMessage
EmbeddedMailObject クラス

MailDefinition メンバ

コントロールテキスト ファイルまたは文字列から電子メール メッセージ作成できるようにします。このクラス継承できません。

MailDefinition データ型公開されるメンバを以下の表に示します


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド MailDefinition MailDefinition クラス新しインスタンス初期化します。
パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 System.Web.UI.IStateManager.LoadViewState SaveViewState メソッドによって保存され前回ページ要求からビューステート情報復元します。
インターフェイスの明示的な実装 System.Web.UI.IStateManager.SaveViewState ページサーバーポスト バックされた時間以降発生したサーバー コントロールビューステート変更保存します
インターフェイスの明示的な実装 System.Web.UI.IStateManager.TrackViewState サーバー コントロールビューステート変更追跡させ、サーバー コントロールの StateBag オブジェクト変更格納できるようにします。
インターフェイスの明示的な実装 System.Web.UI.IStateManager.IsTrackingViewState サーバー コントロールビューステート変更保存しているかどうかを示す値を取得します
参照参照

関連項目

MailDefinition クラス
System.Web.UI.WebControls 名前空間
SmtpClient
MailMessage
EmbeddedMailObject クラス



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「MailDefinition」の関連用語

MailDefinitionのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



MailDefinitionのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS