Share via


EmbeddedMailObjectsCollection Kelas

Definisi

Mewakili sekumpulan EmbeddedMailObject objek yang diurutkan.

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
Warisan
EmbeddedMailObjectsCollection

Contoh

Contoh kode berikut menunjukkan halaman ASP.NET yang menggunakan ChangePassword kontrol Web, dan menyertakan penanganan aktivitas untuk SendingMail peristiwa bernama SendingMail. Contoh kode mengasumsikan bahwa situs Web ASP.NET telah dikonfigurasi untuk menggunakan keanggotaan ASP.NET dan autentikasi Formulir, dan bahwa pengguna telah dibuat yang nama dan kata sandinya diketahui oleh Anda. Untuk informasi selengkapnya, lihat Cara: Menerapkan Autentikasi Formulir Sederhana.

Jika perubahan kata sandi berhasil, kode di penanganan SendingMail aktivitas mencoba mengirim pesan email kepada pengguna untuk mengonfirmasi perubahan. SMTP harus sudah dikonfigurasi di server agar contoh kode ini berfungsi. Untuk informasi tentang cara mengonfigurasi server SMTP, lihat Cara: Menginstal dan Mengonfigurasi Server Virtual SMTP di IIS 6.0. Untuk tujuan contoh ini, tidak perlu mengonfigurasi server SMTP; contoh dibuat untuk menguji kegagalan mengirim pesan email.

Jika server email tidak dikonfigurasi dengan benar atau terjadi kesalahan lain dan pesan email tidak dapat dikirim, SendMailError fungsi akan dipanggil. Pesan ditampilkan kepada pengguna. Selain itu, peristiwa dicatat ke log peristiwa Aplikasi Windows dengan asumsi bahwa sumber peristiwa bernama MySamplesSite sudah ada. Lihat contoh kode di bawah ini untuk membuat sumber peristiwa yang ditentukan. Untuk informasi selengkapnya tentang membuat sumber kejadian, lihat Penanganan Peristiwa Server di Halaman Formulir Web ASP.NET. Properti HandledSendMailErrorEventArgs objek diatur ke true untuk menunjukkan bahwa kesalahan telah ditangani.

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

Gunakan contoh kode berikut jika Anda perlu menambahkan sumber peristiwa bernama MySamplesSite secara terprogram ke log Aplikasi Anda. Sumber kejadian ini harus ada agar contoh kode pertama berfungsi dengan benar. Contoh kode berikut memerlukan hak istimewa Administrator.

#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

Contoh kode berikut dapat digunakan sebagai file ChangePasswordMail.htm untuk kode contoh sebelumnya.

Penting

Mengirim nama akun pengguna atau kata sandi dalam email adalah potensi ancaman keamanan. Email pesan biasanya dikirim dalam teks biasa dan dapat dibaca oleh aplikasi "sniffing" jaringan khusus. Untuk meningkatkan keamanan, gunakan mitigasi yang dijelaskan dalam Mengamankan Kontrol Login.

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

Keterangan

Menyimpan EmbeddedMailObjectsCollection referensi ke item yang akan disematkan dalam pesan email. Item yang disematkan dapat berupa file gambar seperti logo perusahaan. EmbeddedMailObjectsCollection digunakan oleh EmbeddedObjects properti MailDefinition objek .

Email pesan yang memperbolehkan objek tersemat dapat dikonfigurasi dalam kontrol Web berikut dengan mengatur propertinya MailDefinition secara deklaratif:

Catatan

Nilai dalam EmbeddedMailObject objek dan EmbeddedMailObjectsCollection tidak disimpan dalam status tampilan. Ini melindungi dari pengguna berbahaya yang menemukan informasi jalur untuk server Anda.

Konstruktor

EmbeddedMailObjectsCollection()

Menginisialisasi instans baru kelas EmbeddedMailObjectsCollection.

Properti

Capacity

Mendapatkan atau mengatur jumlah elemen yang dapat dimuat CollectionBase .

(Diperoleh dari CollectionBase)
Count

Mendapatkan jumlah elemen yang terkandung dalam CollectionBase instans. Properti ini tidak dapat ditimpa.

(Diperoleh dari CollectionBase)
InnerList

Mendapatkan yang ArrayList berisi daftar elemen dalam CollectionBase instans.

(Diperoleh dari CollectionBase)
Item[Int32]

Mengembalikan elemen tertentu dari , yang EmbeddedMailObjectsCollectiondiidentifikasi oleh posisinya.

List

Mendapatkan yang IList berisi daftar elemen dalam CollectionBase instans.

(Diperoleh dari CollectionBase)

Metode

Add(EmbeddedMailObject)

EmbeddedMailObject Menambahkan ke akhir EmbeddedMailObjectsCollection koleksi.

Clear()

Menghapus semua objek dari CollectionBase instans. Metode ini tidak dapat ditimpa.

(Diperoleh dari CollectionBase)
Contains(EmbeddedMailObject)

Menentukan apakah EmbeddedMailObjectsCollection berisi tertentu EmbeddedMailObject.

CopyTo(EmbeddedMailObject[], Int32)

Menyalin objek koleksi ke instans satu dimensi Array yang dimulai pada indeks yang ditentukan dalam array.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetEnumerator()

Mengembalikan enumerator yang berulang melalui CollectionBase instans.

(Diperoleh dari CollectionBase)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
IndexOf(EmbeddedMailObject)

Menentukan indeks tertentu EmbeddedMailObject dalam EmbeddedMailObjectsCollection.

Insert(Int32, EmbeddedMailObject)

EmbeddedMailObject Menyisipkan ke dalam EmbeddedMailObjectsCollection objek pada posisi indeks yang ditentukan.

MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
OnClear()

Melakukan proses kustom tambahan saat menghapus konten instans CollectionBase .

(Diperoleh dari CollectionBase)
OnClearComplete()

Melakukan proses kustom tambahan setelah menghapus konten instans CollectionBase .

(Diperoleh dari CollectionBase)
OnInsert(Int32, Object)

Melakukan proses kustom tambahan sebelum menyisipkan elemen baru ke CollectionBase dalam instans.

(Diperoleh dari CollectionBase)
OnInsertComplete(Int32, Object)

Melakukan proses kustom tambahan setelah menyisipkan elemen baru ke CollectionBase dalam instans.

(Diperoleh dari CollectionBase)
OnRemove(Int32, Object)

Melakukan proses kustom tambahan saat menghapus elemen dari CollectionBase instans.

(Diperoleh dari CollectionBase)
OnRemoveComplete(Int32, Object)

Melakukan proses kustom tambahan setelah menghapus elemen dari CollectionBase instans.

(Diperoleh dari CollectionBase)
OnSet(Int32, Object, Object)

Melakukan proses kustom tambahan sebelum mengatur nilai dalam CollectionBase instans.

(Diperoleh dari CollectionBase)
OnSetComplete(Int32, Object, Object)

Melakukan proses kustom tambahan setelah menetapkan nilai dalam CollectionBase instans.

(Diperoleh dari CollectionBase)
OnValidate(Object)

Melakukan proses kustom tambahan saat memvalidasi nilai.

(Diperoleh dari CollectionBase)
Remove(EmbeddedMailObject)

Menghapus kemunculan pertama dari yang ditentukan EmbeddedMailObject dari EmbeddedMailObjectsCollection.

RemoveAt(Int32)

Menghapus elemen pada indeks CollectionBase instans yang ditentukan. Metode ini tidak dapat diganti.

(Diperoleh dari CollectionBase)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Implementasi Antarmuka Eksplisit

ICollection.CopyTo(Array, Int32)

Menyalin seluruh CollectionBase ke satu dimensi Arrayyang kompatibel, dimulai dari indeks array target yang ditentukan.

(Diperoleh dari CollectionBase)
ICollection.IsSynchronized

Mendapatkan nilai yang menunjukkan apakah akses ke disinkronkan CollectionBase (utas aman).

(Diperoleh dari CollectionBase)
ICollection.SyncRoot

Mendapatkan objek yang dapat digunakan untuk menyinkronkan akses ke CollectionBase.

(Diperoleh dari CollectionBase)
IList.Add(Object)

Menambahkan objek ke akhir CollectionBase.

(Diperoleh dari CollectionBase)
IList.Contains(Object)

Menentukan apakah CollectionBase berisi elemen tertentu.

(Diperoleh dari CollectionBase)
IList.IndexOf(Object)

Mencari yang ditentukan Object dan mengembalikan indeks berbasis nol dari kemunculan pertama dalam seluruh CollectionBase.

(Diperoleh dari CollectionBase)
IList.Insert(Int32, Object)

Menyisipkan elemen ke dalam pada CollectionBase indeks yang ditentukan.

(Diperoleh dari CollectionBase)
IList.IsFixedSize

Mendapatkan nilai yang menunjukkan apakah CollectionBase memiliki ukuran tetap.

(Diperoleh dari CollectionBase)
IList.IsReadOnly

Mendapatkan nilai yang menunjukkan apakah CollectionBase bersifat baca-saja.

(Diperoleh dari CollectionBase)
IList.Item[Int32]

Mendapatkan atau mengatur elemen pada indeks yang ditentukan.

(Diperoleh dari CollectionBase)
IList.Remove(Object)

Menghapus kemunculan pertama objek tertentu dari CollectionBase.

(Diperoleh dari CollectionBase)

Metode Ekstensi

Cast<TResult>(IEnumerable)

Mentransmisikan elemen dari ke IEnumerable jenis yang ditentukan.

OfType<TResult>(IEnumerable)

Memfilter elemen berdasarkan IEnumerable jenis yang ditentukan.

AsParallel(IEnumerable)

Mengaktifkan paralelisasi kueri.

AsQueryable(IEnumerable)

Mengonversi menjadi IEnumerableIQueryable.

Berlaku untuk

Lihat juga