EmbeddedMailObjectsCollection Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
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 beberapa kesalahan lain terjadi 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. Pesan email biasanya dikirim dalam teks biasa dan dapat dibaca oleh aplikasi "sniffing" jaringan khusus. Untuk meningkatkan keamanan, gunakan mitigasi yang dijelaskan dalam Mengamankan Kontrol Masuk.
<html>
<head><title></title></head>
<body>
<form>
<h1>Your password for the account named "<%Username%>" 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 .
Pesan email 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 melakukan iterasi melalui CollectionBase instans. (Diperoleh dari CollectionBase) |
GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
GetType() |
Mendapatkan 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 yang 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 memasukkan 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 instans yang CollectionBase 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 IEnumerable ke jenis yang ditentukan. |
OfType<TResult>(IEnumerable) |
Memfilter elemen berdasarkan IEnumerable jenis tertentu. |
AsParallel(IEnumerable) |
Mengaktifkan paralelisasi kueri. |
AsQueryable(IEnumerable) |
Mengonversi menjadi IEnumerableIQueryable. |