EmbeddedMailObject Constructors

Definitie

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

Zie ook

Van toepassing op