EmbeddedMailObject Konstruktorok
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Inicializálja a EmbeddedMailObject osztály új példányát.
Túlterhelések
| Name | Description |
|---|---|
| EmbeddedMailObject() |
Inicializálja a EmbeddedMailObject osztály új példányát. |
| EmbeddedMailObject(String, String) |
Inicializálja az osztály új példányát a EmbeddedMailObject megadott azonosítónév és elérési út használatával az objektum feltöltéséhez. |
EmbeddedMailObject()
Inicializálja a EmbeddedMailObject osztály új példányát.
public:
EmbeddedMailObject();
public EmbeddedMailObject();
Public Sub New ()
Megjegyzések
A beágyazott elem azonosítójának lekéréséhez vagy beállításához használja a tulajdonságot Name . A beágyazott elem elérési útjának lekéréséhez vagy beállításához használja a tulajdonságot Path . Mindkét tulajdonságot úgy kell beállítani, hogy sikeresen beágyazza az elemet az e-mailbe.
Lásd még
A következőre érvényes:
EmbeddedMailObject(String, String)
Inicializálja az osztály új példányát a EmbeddedMailObject megadott azonosítónév és elérési út használatával az objektum feltöltéséhez.
public:
EmbeddedMailObject(System::String ^ name, System::String ^ path);
public EmbeddedMailObject(string name, string path);
new System.Web.UI.WebControls.EmbeddedMailObject : string * string -> System.Web.UI.WebControls.EmbeddedMailObject
Public Sub New (name As String, path As String)
Paraméterek
- name
- String
Az e-mailbe beágyazandó elem azonosítójaként használt név. További információért lásd Name.
- path
- String
Az e-mailbe beágyazandó elem lekéréséhez használt elérési út. További információért lásd Path.
Példák
Az alábbi példakód egy ChangePassword vezérlőelemet használó ASP.NET lap kód mögötti példáját mutatja be, és tartalmaz egy eseménykezelőt a SendingMailSendingMail nevű eseményhez. Ez a példakód feltételezi, hogy a ASP.NET webhely ASP.NET tagság és űrlapok hitelesítésére lett konfigurálva, és hogy létrejött egy felhasználó, akinek a neve és jelszava ismert. További információt az Egyszerű űrlapok hitelesítésének implementálása című témakörben talál.
Ha a jelszómódosítás sikeres, az SendingMail eseménykezelő kódja e-mailt próbál küldeni a felhasználónak a módosítás megerősítéséhez. Az SMTP-t már konfigurálni kell a kiszolgálón ahhoz, hogy ez a példakód működjön. Az SMTP-kiszolgálók konfigurálásáról további információt az SMTP-virtuális kiszolgálók telepítése és konfigurálása az IIS 6.0-ban című témakörben talál. Ebben a példában nem szükséges SMTP-kiszolgálót konfigurálni; a példa az e-mail küldésének sikertelenségének tesztelésére készült.
Ha a levelezési kiszolgáló nincs megfelelően konfigurálva, vagy más hiba történik, és az e-mail nem küldhető el, a SendMailError függvény meghívása megtörténik. Megjelenik egy üzenet a felhasználó számára. Emellett a rendszer naplóz egy eseményt az Windows alkalmazás eseménynaplójába azzal a feltételezéssel, hogy már létezik egy MySamplesSite nevű eseményforrás. Az eseményforrás létrehozásával kapcsolatos további információkért lásd: Kiszolgáló eseménykezelése ASP.NET Web Forms lapokban. Az Handled objektum tulajdonsága SendMailErrorEventArgs úgy van beállítva true , hogy jelezze a hiba kezelését.
Az alábbi példakód egy kód mögötti fájl használatát mutatja be.
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
public partial class ChangePassword_cs_aspx : System.Web.UI.Page
{
protected void Page_Load(Object sender, EventArgs e)
{
// Manually register the event-handling methods.
ChangePassword1.SendingMail += new MailMessageEventHandler(this._SendingMail);
ChangePassword1.SendMailError += new SendMailErrorEventHandler(this._SendMailError);
ChangePassword1.MailDefinition.BodyFileName = "~/Attachments/ChangePasswordMail.htm";
EmbeddedMailObject loginGif = new EmbeddedMailObject();
loginGif.Name = "LoginGif";
loginGif.Path = "~/Attachments/Login.gif";
EmbeddedMailObject privacyNoticeTxt = new EmbeddedMailObject();
privacyNoticeTxt.Name = "PrivacyNoticeTxt";
privacyNoticeTxt.Path = "~/Attachments/PrivacyNotice.txt";
ChangePassword1.MailDefinition.EmbeddedObjects.Add(loginGif);
ChangePassword1.MailDefinition.EmbeddedObjects.Add(privacyNoticeTxt);
}
protected void _SendingMail(object sender, MailMessageEventArgs e)
{
Message1.Visible = true;
Message1.Text = "Sent mail to you to confirm the password change.";
System.Net.Mail.MailAddress from = new System.Net.Mail.MailAddress("someone@example.com", "Someone");
System.Net.Mail.MailAddress copy = new System.Net.Mail.MailAddress("someone@example.com", "Someone");
e.Message.From = from;
e.Message.CC.Add(copy);
e.Message.Subject = "Activity information for you";
e.Message.IsBodyHtml = true;
}
protected void _SendMailError(object sender, SendMailErrorEventArgs e)
{
Message1.Visible = true;
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.Source = "MySamplesSite";
myLog.Log = "Application";
myLog.WriteEntry(
"Sending mail via SMTP failed with the following error: " +
e.Exception.Message.ToString(),
System.Diagnostics.EventLogEntryType.Error);
e.Handled = true;
}
}
Imports System.Data
Imports System.Configuration
Imports System.Web
Imports System.Web.Security
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.HtmlControls
Partial Class ChangePassword_vb_aspx
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal Sender As Object, ByVal e As System.EventArgs)
AddHandler ChangePassword1.SendingMail, AddressOf Me._SendingMail
AddHandler ChangePassword1.SendMailError, AddressOf Me._SendMailError
ChangePassword1.MailDefinition.BodyFileName = "~/Attachments/ChangePasswordMail.htm"
ChangePassword1.MailDefinition.Cc = "someone@example.com"
ChangePassword1.MailDefinition.From = "someone@example.com"
Dim loginGif As New EmbeddedMailObject
loginGif.Name = "LoginGif"
loginGif.Path = "~/Attachments/Login.gif"
Dim privacyNoticeTxt As New EmbeddedMailObject
privacyNoticeTxt.Name = "PrivacyNoticeTxt"
privacyNoticeTxt.Path = "~/Attachments/PrivacyNotice.txt"
ChangePassword1.MailDefinition.EmbeddedObjects.Add(loginGif)
ChangePassword1.MailDefinition.EmbeddedObjects.Add(privacyNoticeTxt)
End Sub
Protected Sub _SendingMail(ByVal Sender As Object, ByVal e As MailMessageEventArgs)
Message1.Visible = True
Message1.Text = "Sent mail to you to confirm the password change."
e.Message.Subject = "Activity information for you"
e.Message.IsBodyHtml = True
End Sub
Protected Sub _SendMailError(ByVal Sender As Object, ByVal e As SendMailErrorEventArgs)
Message1.Visible = True
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
End Class
Használja az alábbi kódpéldát, ha programozott módon kell hozzáadnia a MySamplesSite nevű eseményforrást az alkalmazásnaplóhoz. Ennek az eseményforrásnak léteznie kell ahhoz, hogy az első példakód megfelelően működjön. Az alábbi példakód rendszergazdai jogosultságokat igényel.
#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
Az alábbi példakód használható az előző példakód ChangePasswordMail.htm fájljaként.
Important
A felhasználói fiókok nevének vagy jelszavának e-mailben való elküldése potenciális biztonsági fenyegetés. Az e-maileket általában egyszerű szövegben küldik el, és speciális hálózati "szippantás" alkalmazások is olvashatók. A biztonság javítása érdekében használja a bejelentkezési vezérlők biztonságossá tételében leírt kockázatcsökkentéseket.
<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>