EmbeddedMailObject Konstruktorer

Definition

Initierar en ny instans av EmbeddedMailObject klassen.

Överlagringar

Name Description
EmbeddedMailObject()

Initierar en ny instans av EmbeddedMailObject klassen.

EmbeddedMailObject(String, String)

Initierar en ny instans av EmbeddedMailObject klassen med det angivna identifierarnamnet och sökvägen för att fylla i objektet.

EmbeddedMailObject()

Initierar en ny instans av EmbeddedMailObject klassen.

public:
 EmbeddedMailObject();
public EmbeddedMailObject();
Public Sub New ()

Kommentarer

Om du vill hämta eller ange identifieraren för det inbäddade objektet använder du Name egenskapen . Använd egenskapen för att hämta eller ange sökvägen till det inbäddade objektet Path . Båda egenskaperna måste vara inställda på att bädda in objektet i e-postmeddelandet.

Se även

Gäller för

EmbeddedMailObject(String, String)

Initierar en ny instans av EmbeddedMailObject klassen med det angivna identifierarnamnet och sökvägen för att fylla i objektet.

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)

Parametrar

name
String

Namnet som används som identifierare för objektet som ska bäddas in i e-postmeddelandet. Mer information finns i Name.

path
String

Sökvägen som används för att hämta ett objekt som ska bäddas in i e-postmeddelandet. Mer information finns i Path.

Exempel

I följande kodexempel visas ett exempel på en ASP.NET sida som använder en ChangePassword-kontroll och innehåller en händelsehanterare för händelsen SendingMail med namnet SendingMail. Det här kodexemplet förutsätter att ASP.NET webbplats har konfigurerats för att använda ASP.NET medlemskap och formulärautentisering och att en användare har skapats vars namn och lösenord är kända för dig. Mer information finns i Så här implementerar du enkel formulärautentisering.

Om lösenordsändringen lyckas försöker koden i SendingMail händelsehanteraren skicka ett e-postmeddelande till användaren för att bekräfta ändringen. SMTP måste redan konfigureras på servern för att det här kodexemplet ska fungera. Information om hur du konfigurerar en SMTP-server finns i Så här installerar och konfigurerar du virtuella SMTP-servrar i IIS 6.0. I det här exemplet är det inte nödvändigt att konfigurera en SMTP-server. exemplet är konstruerat för att testa om det inte går att skicka ett e-postmeddelande.

Om en e-postserver inte är korrekt konfigurerad eller om något annat fel inträffar och e-postmeddelandet inte kan skickas anropas SendMailError funktionen. Ett meddelande visas för användaren. Dessutom loggas en händelse till händelseloggen Windows Application med antagandet att det redan finns en händelsekälla med namnet MySamplesSite. Mer information om hur du skapar en händelsekälla finns i Server Event Handling i ASP.NET Web Forms Pages. Egenskapen Handled för SendMailErrorEventArgs objektet är inställd på för true att indikera att felet har hanterats.

Följande kodexempel visar hur du använder en kod bakom-fil.

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

Använd följande kodexempel om du behöver lägga till händelsekällan mySamplesSite programmatiskt i programloggen. Den här händelsekällan måste finnas för att det första kodexemplet ska fungera korrekt. Följande kodexempel kräver administratörsbehörighet.

#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

Följande exempelkod kan användas som den ChangePasswordMail.htm filen för föregående exempelkod.

Important

Att skicka användarnamn eller lösenord i ett e-postmeddelande är ett potentiellt säkerhetshot. E-postmeddelanden skickas vanligtvis i oformaterad text och kan läsas av särskilda nätverksprogram för "sniffning". Du kan förbättra säkerheten genom att använda de åtgärder som beskrivs i Skydda inloggningskontroller.

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

Se även

Gäller för