Nyelv

EmbeddedMailObject Konstruktorok

Definíció

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

Lásd még

A következőre érvényes: