EmbeddedMailObjectsCollection クラス

定義

EmbeddedMailObject オブジェクトの順序付きセットを表します。Represents an ordered set of EmbeddedMailObject objects.

public ref class EmbeddedMailObjectsCollection sealed : System::Collections::CollectionBase
public sealed class EmbeddedMailObjectsCollection : System.Collections.CollectionBase
type EmbeddedMailObjectsCollection = class
    inherit CollectionBase
Public NotInheritable Class EmbeddedMailObjectsCollection
Inherits CollectionBase
継承
EmbeddedMailObjectsCollection

次のコード例は、@no__t 0 の Web コントロールを使用し、SendingMail という名前の @no__t イベントのイベントハンドラーを含む ASP.NET ページを示しています。The following code example demonstrates an ASP.NET page that uses a ChangePassword Web control, and includes an event handler for the SendingMail event named SendingMail. このコード例では、ASP.NET Web サイトが ASP.NET メンバーシップとフォーム認証を使用するように構成されていること、および名前とパスワードがわかっているユーザーが作成されていることを前提としています。The code example assumes that the ASP.NET Web site has been configured to use ASP.NET membership and Forms authentication, and that a user has been created whose name and password are known to you. 詳細については、「[方法 :単純なフォーム認証 @ no__t を実装します。For more information, see How to: Implement Simple Forms Authentication.

パスワードの変更が成功した場合、SendingMail イベントハンドラーのコードは、ユーザーに電子メールメッセージを送信して変更を確認しようとします。If the password change succeeds, the code in the SendingMail event handler attempts to send an email message to the user to confirm the change. このコード例を機能させるには、サーバーで SMTP が既に構成されている必要があります。SMTP must already be configured on the server in order for this code example to work. SMTP サーバーを構成する方法の詳細については、「@no__t」を参照してください。IIS 6.0 @ no__t で SMTP 仮想サーバーをインストールして構成します。For information about how to configure an SMTP server, see How to: Install and Configure SMTP Virtual Servers in IIS 6.0. この例では、SMTP サーバーを構成する必要はありません。この例は、電子メールメッセージの送信に失敗したかをテストするために構築されています。For the purposes of this example, it is not necessary to configure an SMTP server; the example is constructed to test for a failure to send an email message.

メールサーバーが正しく構成されていない場合、またはその他のエラーが発生し、電子メールメッセージを送信できない場合は、SendMailError 関数が呼び出されます。If a mail server is not configured correctly or some other error occurs and the email message cannot be sent, the SendMailError function is called. ユーザーにメッセージが表示されます。A message is displayed to the user. さらに、MySamplesSite という名前のイベントソースが既に存在することを前提として、イベントが Windows アプリケーションイベントログに記録されます。In addition, an event is logged to the Windows Application event log with the assumption that an event source named MySamplesSite already exists. 指定されたイベントソースを作成するには、次のコード例を参照してください。See the code example below to create the specified event source. イベントソースの作成の詳細については、「 ASP.NET Web Forms Pages」の「サーバーイベント処理」を参照してください。For more information about creating an event source, see Server Event Handling in ASP.NET Web Forms Pages. @No__t-1 オブジェクトの @no__t 0 プロパティは true に設定され、エラーが処理されたことを示します。The Handled property of the SendMailErrorEventArgs object is set to true to indicate that the error has been handled.

<%@ Page Language="C#" AutoEventWireup="True" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  void MySendingMail(object sender, MailMessageEventArgs e)
  {
    Message1.Text = "Sent mail to you to confirm the password change.";
  }

  void MySendMailError(object sender, SendMailErrorEventArgs e)
  {
    Message1.Text = "Could not send email to confirm password change.";

    // The MySamplesSite event source has already been created by an administrator.
    System.Diagnostics.EventLog myLog = new System.Diagnostics.EventLog();
    myLog.Log = "Application";
    myLog.Source = "MySamplesSite";
    myLog.WriteEntry(
        "Sending mail via SMTP failed with the following error: " + 
        e.Exception.Message.ToString(), 
        System.Diagnostics.EventLogEntryType.Error);

    e.Handled = true;
  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
  <title>ChangePassword including a SendMailError Event</title>
</head>
<body>
  <form id="form1" runat="server">
  <div style="text-align:center">

    <h1>ChangePassword</h1>
    
    <asp:LoginView ID="LoginView1" Runat="server" 
      Visible="true">
      <LoggedInTemplate>
        <asp:LoginName ID="LoginName1" Runat="server" FormatString="You are logged in as {0}." />
        <br />
      </LoggedInTemplate>
      <AnonymousTemplate>
        You are not logged in
      </AnonymousTemplate>
    </asp:LoginView><br />
    
    <asp:ChangePassword ID="ChangePassword1" Runat="server"
      BorderStyle="Solid" 
      BorderWidth="1" 
      CancelDestinationPageUrl="~/Default.aspx" 
      DisplayUserName="true"
      OnSendingMail="MySendingMail" 
      OnSendMailError="MySendMailError" 
      ContinueDestinationPageUrl="~/Default.aspx" >
      <MailDefinition 
        BodyFileName="~\MailFiles\ChangePasswordMail.htm" 
        Subject="Activity information for you">
        <EmbeddedObjects>
          <asp:EmbeddedMailObject Name="LoginGif" Path="~\MailFiles\Login.gif" />
          <asp:EmbeddedMailObject Name="PrivacyNoticeTxt" Path="~\MailFiles\PrivacyNotice.txt" />
        </EmbeddedObjects>
      </MailDefinition>
    </asp:ChangePassword><br />
  
    <asp:Label ID="Message1" Runat="server" ForeColor="Red" /><br />

    <asp:HyperLink ID="HyperLink1" Runat="server" 
      NavigateUrl="~/Default.aspx">
      Home
    </asp:HyperLink>
    
  </div>
  </form>
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="True" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

  Public Sub MySendingMail(ByVal Sender As Object, ByVal e As MailMessageEventArgs)
    Message1.Text = "Sent mail to you to confirm the password change."
  End Sub

  Public Sub MySendMailError(ByVal Sender As Object, ByVal e As SendMailErrorEventArgs)
    Message1.Text = "Could not send mail to confirm the password change."
    
    ' The MySamplesSite event source has already been created by an administrator.
    Dim myLog As System.Diagnostics.EventLog
    myLog = new System.Diagnostics.EventLog
    myLog.Log = "Application"
    myLog.Source = "MySamplesSite"
    myLog.WriteEntry("Sending mail via SMTP failed with the following error: " & e.Exception.Message.ToString(), System.Diagnostics.EventLogEntryType.Error)

    e.Handled = True
    
  End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
  <title>ChangePassword including a SendMailError Event</title>
</head>
<body>
  <form id="form1" runat="server">
  <div style="text-align:center">

    <h1>ChangePassword</h1>
    
    <asp:LoginView ID="LoginView1" Runat="server" 
      Visible="true">
      <LoggedInTemplate>
        <asp:LoginName ID="LoginName1" Runat="server" FormatString="You are logged in as {0}." />
        <br />
      </LoggedInTemplate>
      <AnonymousTemplate>
        You are not logged in
      </AnonymousTemplate>
    </asp:LoginView><br />
    
    <asp:ChangePassword ID="ChangePassword1" Runat="server"
      BorderStyle="Solid" 
      BorderWidth="1" 
      CancelDestinationPageUrl="~/Default.aspx" 
      DisplayUserName="true"
      OnSendingMail="MySendingMail" 
      OnSendMailError="MySendMailError" 
      ContinueDestinationPageUrl="~/Default.aspx" >
      <MailDefinition 
        BodyFileName="~\MailFiles\ChangePasswordMail.htm" 
        Subject="Activity information for you">
        <EmbeddedObjects>
          <asp:EmbeddedMailObject Name="LoginGif" Path="~\MailFiles\Login.gif" />
          <asp:EmbeddedMailObject Name="PrivacyNoticeTxt" Path="~\MailFiles\PrivacyNotice.txt" />
        </EmbeddedObjects>
      </MailDefinition>
    </asp:ChangePassword><br />
  
    <asp:Label ID="Message1" Runat="server" ForeColor="Red" /><br />

    <asp:HyperLink ID="HyperLink1" Runat="server" 
      NavigateUrl="~/Default.aspx">
      Home
    </asp:HyperLink>
    
  </div>
  </form>
</body>
</html>

MySamplesSite という名前のイベントソースをアプリケーションログにプログラムによって追加する必要がある場合は、次のコード例を使用します。Use the following code example if you need to programmatically add the event source named MySamplesSite to your Application log. 最初のコード例が正しく機能するためには、このイベントソースが存在している必要があります。This event source must exist in order for the first code example to work correctly. 次のコード例では、管理者特権が必要です。The following code example requires Administrator privileges.

#region Using directives

using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;

#endregion

namespace CreateEventSource
{
    class Program
    {
        static void Main(string[] args)
        {

            try
            {
                // Create the source, if it does not already exist.
                if (!EventLog.SourceExists("MySamplesSite"))
                {
                    EventLog.CreateEventSource("MySamplesSite", "Application");
                    Console.WriteLine("Creating Event Source");
                }

                // Create an EventLog instance and assign its source.
                EventLog myLog = new EventLog();
                myLog.Source = "MySamplesSite";

                // Write an informational entry to the event log.    
                myLog.WriteEntry("Testing writing to event log.");

                Console.WriteLine("Message written to event log.");
            }
            catch (Exception e)
            {
                Console.WriteLine("Exception:");
                Console.WriteLine("{0}", e.ToString());
            }
        }
    }
}
Imports System.Collections.Generic
Imports System.Text
Imports System.Diagnostics


Namespace CreateEventSource
  Class Program
    Sub Main()

        Try
            ' Create the source, if it does not already exist.
            If Not (EventLog.SourceExists("MySamplesSite")) Then
                EventLog.CreateEventSource("MySamplesSite", "Application")
                Console.WriteLine("Creating Event Source")
            End If

            ' Create an EventLog instance and assign its source.
            Dim myLog As New EventLog
            myLog.Source = "MySamplesSite"

            ' Write an informational entry to the event log.
            myLog.WriteEntry("Testing writing to event log.")

            Console.WriteLine("Message written to event log.")
        Catch e As Exception
            Console.WriteLine("Exception:")
            Console.WriteLine(e.ToString)
        End Try

    End Sub
  End Class
End Namespace

次のコード例は、前のコード例の ChangePasswordMail .htm ファイルとして使用できます。The following example code can be used as the ChangePasswordMail.htm file for the preceding example code.

重要

ユーザーアカウント名またはパスワードを電子メールで送信することは、セキュリティ上の脅威になる可能性があります。Sending user account names or passwords in email is a potential security threat. 通常、電子メールメッセージはプレーンテキストで送信され、特別なネットワーク "スニッフィング" アプリケーションで読み取ることができます。Email messages are typically sent in plain text and can be read by special network "sniffing" applications. セキュリティを強化するには、「ログインコントロールのセキュリティ保護」で説明されている軽減策を使用します。To improve security, use the mitigations that are described in Securing Login Controls.

<html>  
<head><title></title></head>  
<body>  
<form>  
  
  <h1>Your password for the account named &quot;<%Username%>&quot; has changed.</h1>  
  
  <p>  
  If you did not initiate this change, please call 1-206-555-0100.  
  </p>  
  
  <p>  
  <a href="http://www.contoso.com/login.aspx">  
    <img src="cid:LoginGif" alt="Log In" />  
  </a>   
  </p>  
  
  <p>  
  Please read our attached Privacy Notice.  
  </p>  
  
</form>  
</body>  
</html>  

注釈

@No__t-0 は、電子メールメッセージに埋め込まれる項目への参照を格納します。The EmbeddedMailObjectsCollection stores references to items that will be embedded in an email message. 埋め込み項目は、会社のロゴなどのイメージファイルにすることができます。The embedded items can be image files such as company logos. @No__t-0 は MailDefinition オブジェクトの EmbeddedObjects プロパティによって使用されます。The EmbeddedMailObjectsCollection is used by the EmbeddedObjects property of the MailDefinition object.

埋め込みオブジェクトを許可する電子メールメッセージは、MailDefinition プロパティを宣言によって設定することで、次の Web コントロールで構成できます。Email messages that allow embedded objects are configurable in the following Web controls by setting their MailDefinition properties declaratively:

注意

@No__t-0 および EmbeddedMailObjectsCollection オブジェクトの値は、ビューステートに格納されません。The values in the EmbeddedMailObject and EmbeddedMailObjectsCollection objects are not stored in view state. これにより、悪意のあるユーザーがサーバーのパス情報を検出するのを防ぐことができます。This protects against malicious users discovering path information for your server.

コンストラクター

EmbeddedMailObjectsCollection()

EmbeddedMailObjectsCollection クラスの新しいインスタンスを初期化します。Initializes a new instance of the EmbeddedMailObjectsCollection class.

プロパティ

Capacity

CollectionBase に格納できる要素の数を取得または設定します。Gets or sets the number of elements that the CollectionBase can contain.

(継承元 CollectionBase)
Count

CollectionBase インスタンスに格納されている要素の数を取得します。Gets the number of elements contained in the CollectionBase instance. このプロパティはオーバーライドできません。This property cannot be overridden.

(継承元 CollectionBase)
InnerList

ArrayList インスタンス内の要素のリストを格納する CollectionBase を取得します。Gets an ArrayList containing the list of elements in the CollectionBase instance.

(継承元 CollectionBase)
Item[Int32]

位置によって識別される、EmbeddedMailObjectsCollection の特定の要素を返します。Returns a specific element of a EmbeddedMailObjectsCollection, identified by its position.

List

IList インスタンス内の要素のリストを格納する CollectionBase を取得します。Gets an IList containing the list of elements in the CollectionBase instance.

(継承元 CollectionBase)

メソッド

Add(EmbeddedMailObject)

EmbeddedMailObject コレクションの末尾に EmbeddedMailObjectsCollection を追加します。Adds an EmbeddedMailObject to the end of the EmbeddedMailObjectsCollection collection.

Clear()

CollectionBase インスタンスからすべてのオブジェクトを削除します。Removes all objects from the CollectionBase instance. このメソッドはオーバーライドできません。This method cannot be overridden.

(継承元 CollectionBase)
Contains(EmbeddedMailObject)

EmbeddedMailObjectsCollection に特定の EmbeddedMailObject が格納されているかどうかを確認します。Determines whether the EmbeddedMailObjectsCollection contains a specific EmbeddedMailObject.

CopyTo(EmbeddedMailObject[], Int32)

配列内の指定したインデックスをコピー開始位置として、1 次元の Array インスタンスにコレクション オブジェクトをコピーします。Copies the collection objects to a one-dimensional Array instance beginning at the specified index in the array.

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判定します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GetEnumerator()

CollectionBase インスタンスを反復処理する列挙子を返します。Returns an enumerator that iterates through the CollectionBase instance.

(継承元 CollectionBase)
GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
IndexOf(EmbeddedMailObject)

EmbeddedMailObject 内での指定した EmbeddedMailObjectsCollection のインデックスを調べます。Determines the index of a specific EmbeddedMailObject in the EmbeddedMailObjectsCollection.

Insert(Int32, EmbeddedMailObject)

EmbeddedMailObject オブジェクト内の指定したインデックス位置に EmbeddedMailObjectsCollection を挿入します。Inserts an EmbeddedMailObject into the EmbeddedMailObjectsCollection object at the specified index position.

MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
OnClear()

CollectionBase インスタンスの内容を消去しているときに、追加のカスタム プロセスを実行します。Performs additional custom processes when clearing the contents of the CollectionBase instance.

(継承元 CollectionBase)
OnClearComplete()

CollectionBase インスタンスの内容を消去した後に、追加のカスタム プロセスを実行します。Performs additional custom processes after clearing the contents of the CollectionBase instance.

(継承元 CollectionBase)
OnInsert(Int32, Object)

CollectionBase インスタンスに新しい要素を挿入する前に、追加のカスタム プロセスを実行します。Performs additional custom processes before inserting a new element into the CollectionBase instance.

(継承元 CollectionBase)
OnInsertComplete(Int32, Object)

CollectionBase インスタンスに新しい要素を挿入した後に、追加のカスタム プロセスを実行します。Performs additional custom processes after inserting a new element into the CollectionBase instance.

(継承元 CollectionBase)
OnRemove(Int32, Object)

CollectionBase インスタンスから要素を削除するときに、追加のカスタム プロセスを実行します。Performs additional custom processes when removing an element from the CollectionBase instance.

(継承元 CollectionBase)
OnRemoveComplete(Int32, Object)

CollectionBase インスタンスから要素を削除した後に、追加のカスタム プロセスを実行します。Performs additional custom processes after removing an element from the CollectionBase instance.

(継承元 CollectionBase)
OnSet(Int32, Object, Object)

CollectionBase インスタンスに値を設定する前に、追加のカスタム プロセスを実行します。Performs additional custom processes before setting a value in the CollectionBase instance.

(継承元 CollectionBase)
OnSetComplete(Int32, Object, Object)

CollectionBase インスタンスに値を設定した後に、追加のカスタム プロセスを実行します。Performs additional custom processes after setting a value in the CollectionBase instance.

(継承元 CollectionBase)
OnValidate(Object)

値を検証するときに、追加のカスタム プロセスを実行します。Performs additional custom processes when validating a value.

(継承元 CollectionBase)
Remove(EmbeddedMailObject)

EmbeddedMailObject 内で最初に見つかった指定の EmbeddedMailObjectsCollection を削除します。Removes the first occurrence of the specified EmbeddedMailObject from the EmbeddedMailObjectsCollection.

RemoveAt(Int32)

CollectionBase インスタンスの指定したインデックスにある要素を削除します。Removes the element at the specified index of the CollectionBase instance. このメソッドはオーバーライドできません。This method is not overridable.

(継承元 CollectionBase)
ToString()

現在のオブジェクトを表す string を返します。Returns a string that represents the current object.

(継承元 Object)

明示的なインターフェイスの実装

ICollection.CopyTo(Array, Int32)

CollectionBase 全体を、互換性のある 1 次元の Array にコピーします。コピー操作は、コピー先の配列の指定したインデックスから始まる部分に行います。Copies the entire CollectionBase to a compatible one-dimensional Array, starting at the specified index of the target array.

(継承元 CollectionBase)
ICollection.IsSynchronized

CollectionBase へのアクセスが同期されている (スレッド セーフである) かどうかを示す値を取得します。Gets a value indicating whether access to the CollectionBase is synchronized (thread safe).

(継承元 CollectionBase)
ICollection.SyncRoot

CollectionBase へのアクセスを同期するために使用できるオブジェクトを取得します。Gets an object that can be used to synchronize access to the CollectionBase.

(継承元 CollectionBase)
IList.Add(Object)

CollectionBase の末尾にオブジェクトを追加します。Adds an object to the end of the CollectionBase.

(継承元 CollectionBase)
IList.Contains(Object)

CollectionBase に特定の要素が格納されているかどうかを判断します。Determines whether the CollectionBase contains a specific element.

(継承元 CollectionBase)
IList.IndexOf(Object)

指定した Object を検索し、CollectionBase 全体内で最初に見つかった位置の 0 から始まるインデックスを返します。Searches for the specified Object and returns the zero-based index of the first occurrence within the entire CollectionBase.

(継承元 CollectionBase)
IList.Insert(Int32, Object)

CollectionBase 内の指定したインデックスの位置に要素を挿入します。Inserts an element into the CollectionBase at the specified index.

(継承元 CollectionBase)
IList.IsFixedSize

CollectionBase が固定サイズかどうかを示す値を取得します。Gets a value indicating whether the CollectionBase has a fixed size.

(継承元 CollectionBase)
IList.IsReadOnly

CollectionBase が読み取り専用かどうかを示す値を取得します。Gets a value indicating whether the CollectionBase is read-only.

(継承元 CollectionBase)
IList.Item[Int32]

指定したインデックスにある要素を取得または設定します。Gets or sets the element at the specified index.

(継承元 CollectionBase)
IList.Remove(Object)

特定のオブジェクトが CollectionBase 内にあるときに、最初に出現したものを削除します。Removes the first occurrence of a specific object from the CollectionBase.

(継承元 CollectionBase)

拡張メソッド

Cast<TResult>(IEnumerable)

IEnumerable の要素を、指定した型にキャストします。Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

指定された型に基づいて IEnumerable の要素をフィルター処理します。Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

クエリの並列化を有効にします。Enables parallelization of a query.

AsQueryable(IEnumerable)

IEnumerableIQueryable に変換します。Converts an IEnumerable to an IQueryable.

適用対象

こちらもご覧ください