EmbeddedMailObject Konstruktoren
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Initialisiert eine neue Instanz der EmbeddedMailObject-Klasse.
Überlädt
| Name | Beschreibung |
|---|---|
| EmbeddedMailObject() |
Initialisiert eine neue Instanz der EmbeddedMailObject-Klasse. |
| EmbeddedMailObject(String, String) |
Initialisiert eine neue Instanz der EmbeddedMailObject Klasse, wobei der angegebene Bezeichnername und der Pfad zum Auffüllen des Objekts verwendet werden. |
EmbeddedMailObject()
Initialisiert eine neue Instanz der EmbeddedMailObject-Klasse.
public:
EmbeddedMailObject();
public EmbeddedMailObject();
Public Sub New ()
Hinweise
Verwenden Sie die Name Eigenschaft, um den Bezeichner des eingebetteten Elements abzurufen oder festzulegen. Verwenden Sie die Path Eigenschaft, um den Pfad zum eingebetteten Element abzurufen oder festzulegen. Beide Eigenschaften müssen so festgelegt werden, dass das Element erfolgreich in die E-Mail-Nachricht eingebettet wird.
Weitere Informationen
Gilt für:
EmbeddedMailObject(String, String)
Initialisiert eine neue Instanz der EmbeddedMailObject Klasse, wobei der angegebene Bezeichnername und der Pfad zum Auffüllen des Objekts verwendet werden.
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)
Parameter
- name
- String
Der Name, der als Bezeichner des Elements zum Einbetten in die E-Mail-Nachricht verwendet wird. Weitere Informationen finden Sie unter Name.
- path
- String
Der Pfad zum Abrufen eines Elements zum Einbetten in die E-Mail-Nachricht. Weitere Informationen finden Sie unter Path.
Beispiele
Das folgende Codebeispiel zeigt ein CodeBehind-Beispiel einer ASP.NET Seite, die ein ChangePassword Steuerelement verwendet und einen Ereignishandler für das Ereignis mit dem SendingMail Namen SendingMailenthält. In diesem Codebeispiel wird davon ausgegangen, dass die ASP.NET-Website für die Verwendung ASP.NET Mitgliedschafts- und Formularauthentifizierung konfiguriert wurde und dass ein Benutzer erstellt wurde, dessen Name und Kennwort Ihnen bekannt sind. Weitere Informationen finden Sie unter How to: Implement Simple Forms Authentication.
Wenn die Kennwortänderung erfolgreich ist, versucht der Code im SendingMail Ereignishandler, eine E-Mail-Nachricht an den Benutzer zu senden, um die Änderung zu bestätigen. SMTP muss bereits auf dem Server konfiguriert sein, damit dieses Codebeispiel funktioniert. Informationen zum Konfigurieren eines SMTP-Servers finden Sie unter How to: Install and Configure SMTP Virtual Servers in IIS 6.0. Für dieses Beispiel ist es nicht erforderlich, einen SMTP-Server zu konfigurieren; Das Beispiel wird erstellt, um zu testen, dass eine E-Mail-Nachricht nicht gesendet wurde.
Wenn ein E-Mail-Server nicht ordnungsgemäß konfiguriert ist oder ein anderer Fehler auftritt und die E-Mail-Nachricht nicht gesendet werden kann, wird die SendMailError Funktion aufgerufen. Dem Benutzer wird eine Meldung angezeigt. Darüber hinaus wird ein Ereignis im Ereignisprotokoll der Windows-Anwendung protokolliert, wobei davon ausgegangen wird, dass bereits eine Ereignisquelle mit dem Namen MySamplesSite vorhanden ist. Weitere Informationen zum Erstellen einer Ereignisquelle finden Sie unter Serverereignisbehandlung in ASP.NET Web Forms Pages. Die Handled Eigenschaft des SendMailErrorEventArgs Objekts wird so festgelegt true , dass der Fehler behandelt wurde.
Das folgende Codebeispiel veranschaulicht die Verwendung einer CodeBehind-Datei.
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
Verwenden Sie das folgende Codebeispiel, wenn Sie die Ereignisquelle mit dem Namen "MySamplesSite" programmgesteuert zu Ihrem Anwendungsprotokoll hinzufügen müssen. Diese Ereignisquelle muss vorhanden sein, damit das erste Codebeispiel ordnungsgemäß funktioniert. Im folgenden Codebeispiel sind Administratorrechte erforderlich.
#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
Der folgende Beispielcode kann als ChangePasswordMail.htm Datei für den vorherigen Beispielcode verwendet werden.
Von Bedeutung
Das Senden von Benutzernamen oder Kennwörtern in einer E-Mail-Nachricht ist eine potenzielle Sicherheitsrisiken. E-Mail-Nachrichten werden in der Regel als Nur-Text gesendet und können von speziellen Netzwerkanwendungen gelesen werden. Um die Sicherheit zu verbessern, verwenden Sie die Unterschärfungen, die unter Sichern von Anmeldesteuerelementen beschrieben sind.
<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>