Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

EmbeddedMailObject, classe

Représente un élément à incorporer dans un message électronique construit à l'aide de la classe MailDefinition.

System.Object
  System.Web.UI.WebControls.EmbeddedMailObject

Espace de noms :  System.Web.UI.WebControls
Assembly :  System.Web (dans System.Web.dll)
public sealed class EmbeddedMailObject

Le type EmbeddedMailObject expose les membres suivants.

  NomDescription
Méthode publiqueEmbeddedMailObject()Initialise une nouvelle instance de la classe EmbeddedMailObject.
Méthode publiqueEmbeddedMailObject(String, String)Initialise une nouvelle instance de la classe EmbeddedMailObject à l'aide du nom de l'identificateur et du chemin d'accès spécifiés.
Début
  NomDescription
Propriété publiqueNameObtient ou définit le nom qui est utilisé comme identificateur de l'élément à incorporer dans un message électronique construit avec la classe MailDefinition.
Propriété publiquePathObtient ou définit le chemin d'accès qui est utilisé pour récupérer un élément à incorporer dans un message électronique construit avec la classe MailDefinition.
Début
  NomDescription
Méthode publiqueEquals(Object)Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.)
Méthode publiqueGetHashCodeSert de fonction de hachage par défaut. (Hérité de Object.)
Méthode publiqueGetTypeObtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publiqueToStringRetourne une chaîne qui représente l'objet actif. (Hérité de Object.)
Début

EmbeddedMailObject représente un élément à incorporer dans un message électronique. Ces éléments incorporés peuvent être des fichiers image, tels que des logos de société. Chaque élément incorporé est spécifié par un identificateur et un chemin d'accès.

Pour s'assurer qu'un objet incorporé est correctement affiché dans le fichier de message électronique, les conditions suivantes doivent être remplies :

  • Le message électronique est au format HTML.

  • L'élément est un fichier image (.jpg, .gif, .bmp, et ainsi de suite).

  • Le fichier de corps au format HTML spécifié dans la propriété BodyFileName contient une référence au fichier image à l'aide de la syntaxe suivante :

    <img src="cid:identifier" alt="Alternate Text" />.
    

Si EmbeddedMailObject est ajouté à un message électronique et s'il ne remplit pas toutes les conditions requises spécifiées précédemment, il apparaîtra très probablement en tant que pièce jointe dans le message électronique. Si un élément est référencé par un identificateur dans le message électronique mais n'est pas inclus en tant qu'élément incorporé, il apparaît en tant que pièce jointe rompue lors de l'affichage du message.

EmbeddedMailObjectsCollection stocke une collection d'objets EmbeddedMailObject correspondant à un seul message électronique. EmbeddedMailObjectsCollection est utilisé par la propriété EmbeddedObjects de l'objet MailDefinition pour créer le message électronique.

Les messages électroniques qui autorisent des objets incorporés sont configurables dans les contrôles Web suivants en définissant leurs propriétés MailDefinition de façon déclarative :

RemarqueRemarque

Les valeurs dans les objets EmbeddedMailObject et EmbeddedMailObjectsCollection ne sont pas stockées dans l'état d'affichage. Cela permet de se protéger des utilisateurs malveillants qui obtiennent des informations sur le chemin d'accès de votre serveur.

L'exemple de code suivant montre une page ASP.NET qui utilise un contrôle Web ChangePassword, et inclut un gestionnaire d'événements pour l'événement SendingMail nommé SendingMail. Cet exemple de code suppose que le site Web ASP.NET a été configuré pour utiliser l'appartenance d'ASP.NET et l'authentification par formulaire, et qu'un utilisateur dont vous connaissez le nom et le mot de passe a été créé. Pour plus d'informations, consultez How to: Implement Simple Forms Authentication.

Si la modification du mot de passe réussit, le code du gestionnaire d'événements SendingMail tente d'envoyer un message électronique à l'utilisateur pour confirmer la modification. Le protocole SMTP doit déjà être configuré sur le serveur pour que cet exemple de code puisse fonctionner. Pour plus d'informations sur la configuration d'un serveur SMTP, consultez How to: Configure an SMTP Virtual Server. Pour les besoins de cet exemple, il n'est pas nécessaire de configurer un serveur SMTP ; l'exemple est construit pour tester le fait qu'une défaillance entraîne l'envoi d'un message électronique.

Si le serveur de messagerie n'est pas configuré correctement ou qu'une autre erreur se produit et que le message électronique ne peut pas être envoyé, la fonction SendMailError est appelée. Un message s'affiche à l'attention de l'utilisateur. De plus, un événement est enregistré dans le journal des événements de l'application Windows en faisant l'hypothèse qu'une source d'événements intitulée MySamplesSite existe déjà. Consultez l'exemple de code ci-dessous pour créer la source d'événements spécifiée. Pour plus d'informations sur la création d'une source d'événements, consultez Server Event Handling in ASP.NET Web Pages. La valeur true est affectée à la propriété Handled de l'objet SendMailErrorEventArgs pour indiquer que l'erreur a été gérée.


<%@ Page Language="C#" AutoEventWireup="True" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  void MySendingMail(object sender, MailMessageEventArgs e)
  {
    Message1.Text = "Sent mail to you to confirm the password change.";
  }

  void MySendMailError(object sender, SendMailErrorEventArgs e)
  {
    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.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;
  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
  <title>ChangePassword including a SendMailError Event</title>
</head>
<body>
  <form id="form1" runat="server">
  <div style="text-align:center">

    <h1>ChangePassword</h1>

    <asp:LoginView ID="LoginView1" Runat="server" 
      Visible="true">
      <LoggedInTemplate>
        <asp:LoginName ID="LoginName1" Runat="server" FormatString="You are logged in as {0}." />
        <br />
      </LoggedInTemplate>
      <AnonymousTemplate>
        You are not logged in
      </AnonymousTemplate>
    </asp:LoginView><br />

    <asp:ChangePassword ID="ChangePassword1" Runat="server"
      BorderStyle="Solid" 
      BorderWidth="1" 
      CancelDestinationPageUrl="~/Default.aspx" 
      DisplayUserName="true"
      OnSendingMail="MySendingMail" 
      OnSendMailError="MySendMailError" 
      ContinueDestinationPageUrl="~/Default.aspx" >
      <MailDefinition 
        BodyFileName="~\MailFiles\ChangePasswordMail.htm" 
        Subject="Activity information for you">
        <EmbeddedObjects>
          <asp:EmbeddedMailObject Name="LoginGif" Path="~\MailFiles\Login.gif" />
          <asp:EmbeddedMailObject Name="PrivacyNoticeTxt" Path="~\MailFiles\PrivacyNotice.txt" />
        </EmbeddedObjects>
      </MailDefinition>
    </asp:ChangePassword><br />

    <asp:Label ID="Message1" Runat="server" ForeColor="Red" /><br />

    <asp:HyperLink ID="HyperLink1" Runat="server" 
      NavigateUrl="~/Default.aspx">
      Home
    </asp:HyperLink>

  </div>
  </form>
</body>
</html>


Utilisez l'exemple de code suivant si vous devez ajouter par programme la source d'événements nommée MySamplesSite au journal des applications. Cette source d'événements doit exister pour que le premier exemple de code fonctionne correctement. L'exemple de code suivant requiert des privilèges d'administrateur.


#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());
            }
        }
    }
}


L'exemple de code suivant peut être utilisé comme fichier ChangePasswordMail.htm pour l'exemple de code précédent.

Note de sécuritéNote de sécurité

L'envoi de noms de comptes d'utilisateur ou de mots de passe dans une messagerie électronique constitue une menace potentielle pour la sécurité. Les messages électroniques sont envoyés en général sous forme de texte brut et peuvent être lus par des applications réseau particulières en quête d'intrusion. Pour améliorer la sécurité, utilisez les atténuations décrites dans Securing Login Controls.

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

.NET Framework

Pris en charge dans : 4.5, 4, 3.5, 3.0, 2.0

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Tout membre static (Shared en Visual Basic) public de ce type est thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft. Tous droits réservés.