EmbeddedMailObject Constructors
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Initialiseert een nieuw exemplaar van de EmbeddedMailObject klasse.
Overloads
| Name | Description |
|---|---|
| EmbeddedMailObject() |
Initialiseert een nieuw exemplaar van de EmbeddedMailObject klasse. |
| EmbeddedMailObject(String, String) |
Initialiseert een nieuw exemplaar van de EmbeddedMailObject klasse met behulp van de opgegeven id-naam en het opgegeven pad om het object te vullen. |
EmbeddedMailObject()
Initialiseert een nieuw exemplaar van de EmbeddedMailObject klasse.
public:
EmbeddedMailObject();
public EmbeddedMailObject();
Public Sub New ()
Opmerkingen
Gebruik de eigenschap om de id van het ingesloten item op te halen of in te Name stellen. Gebruik de Path eigenschap om het pad naar het ingesloten item op te halen of in te stellen. Beide eigenschappen moeten zijn ingesteld om het item in het e-mailbericht in te sluiten.
Zie ook
Van toepassing op
EmbeddedMailObject(String, String)
Initialiseert een nieuw exemplaar van de EmbeddedMailObject klasse met behulp van de opgegeven id-naam en het opgegeven pad om het object te vullen.
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)
Parameters
- name
- String
De naam die wordt gebruikt als id van het item dat in het e-mailbericht moet worden ingesloten. Zie Name voor meer informatie.
- path
- String
Het pad dat wordt gebruikt om een item op te halen dat in het e-mailbericht moet worden ingesloten. Zie Path voor meer informatie.
Voorbeelden
In het volgende codevoorbeeld ziet u een code-behind-voorbeeld van een ASP.NET-pagina die gebruikmaakt van een besturingselement ChangePassword en een gebeurtenis-handler bevat voor de gebeurtenis SendingMail met de naam SendingMail. In dit codevoorbeeld wordt ervan uitgegaan dat de ASP.NET website is geconfigureerd voor het gebruik van ASP.NET lidmaatschap en formulierverificatie en dat een gebruiker is gemaakt waarvan u de naam en het wachtwoord kent. Zie Procedure: Eenvoudige formulierverificatie implementeren voor meer informatie.
Als de wachtwoordwijziging is geslaagd, probeert de code in de SendingMail gebeurtenishandler een e-mailbericht naar de gebruiker te verzenden om de wijziging te bevestigen. SMTP moet al zijn geconfigureerd op de server om dit codevoorbeeld te laten werken. Zie How to: Install and Configure SMTP Virtual Servers in IIS 6.0 (SMTP-virtuele servers installeren en configureren in IIS 6.0) voor informatie over het configureren van een SMTP-server. In dit voorbeeld is het niet nodig om een SMTP-server te configureren; het voorbeeld is samengesteld om te testen op een fout bij het verzenden van een e-mailbericht.
Als een e-mailserver niet juist is geconfigureerd of een andere fout optreedt en het e-mailbericht niet kan worden verzonden, wordt de SendMailError functie aangeroepen. Er wordt een bericht weergegeven aan de gebruiker. Daarnaast wordt een gebeurtenis vastgelegd in het gebeurtenislogboek van de Windows Toepassing met de veronderstelling dat er al een gebeurtenisbron met de naam MySamplesSite bestaat. Zie Server Event Handling in ASP.NET Web Forms Pages voor meer informatie over het maken van een gebeurtenisbron. De Handled eigenschap van het SendMailErrorEventArgs object is ingesteld om true aan te geven dat de fout is verwerkt.
In het volgende codevoorbeeld ziet u hoe u een code-behind-bestand gebruikt.
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
Gebruik het volgende codevoorbeeld als u de gebeurtenisbron met de naam MySamplesSite programmatisch wilt toevoegen aan uw toepassingslogboek. Deze gebeurtenisbron moet bestaan om ervoor te zorgen dat het eerste codevoorbeeld correct werkt. Voor het volgende codevoorbeeld zijn beheerdersbevoegdheden vereist.
#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
De volgende voorbeeldcode kan worden gebruikt als het ChangePasswordMail.htm-bestand voor de voorgaande voorbeeldcode.
Important
Het verzenden van gebruikersaccountnamen of wachtwoorden in een e-mailbericht is een mogelijke beveiligingsrisico. E-mailberichten worden meestal in tekst zonder opmaak verzonden en kunnen worden gelezen door speciale netwerktoepassingen voor 'sniffing'. Gebruik de oplossingen die worden beschreven in Aanmeldingsbesturingselementen beveiligen om de beveiliging te verbeteren.
<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>