Création et définition du contenu des courriels
Créer un nouveau message électronique
La classe MailMessage représente un courriel et permet aux développeurs de créer de nouveaux courriels. Les propriétés de base telles que From, To, Subject et le corps peuvent être facilement définies avec le nouveau courriel. De même, nous pouvons enregistrer le courriel dans différents formats comme EML, MSG et MHTML.
- Créez une instance de la classe MailMessage.
- Définir les propriétés du message mail.
- Enregistrer le message mail dans différents formats.
Le fragment de code suivant montre comment créer un nouveau e‑mail avec différentes propriétés.
Spécification de plusieurs destinataires
MailMessage représente un courriel. Les instances de la classe MailMessage sont utilisées pour construire des courriels qui sont transmis à un serveur SMTP à l’aide de la classe SmtpClient. Ce sujet montre comment spécifier plusieurs adresses e-mail. Les adresses e-mail peuvent être spécifiées avec la classe MailMessage. Les adresses e-mail utilisées dans la classe MailMessage sont :
- To - Les adresses des destinataires peuvent être spécifiées dans le champ « To ». Les destinataires du champ « To » constituent le public principal du message. Il peut y avoir plus d’une adresse destinataire.
- Cc - CC signifie « copie carbone » ou « copie de courtoisie », et vous permet d’ajouter des destinataires qui doivent voir l’e‑mail mais qui ne sont pas forcément tenus d’y répondre. Par exemple, des managers ou les membres de votre équipe qui doivent être informés d’une conversation. Avec Aspose.Email, les adresses CC peuvent être spécifiées dans votre code. Ainsi, les e‑mails automatisés, ou tous les e‑mails vers une adresse spécifique, peuvent être copiés aux personnes concernées.
- Bcc - Bcc, copie carbone invisible, vous permet d’envoyer un e‑mail à un destinataire qui reste caché aux autres destinataires. Alors qu’un CC apparaît dans les informations de l’e‑mail visibles par les destinataires principaux, un Bcc ne le fait pas. Il sert à une notification cachée.
Pour spécifier plusieurs adresses e‑mail dans un message, suivez ces étapes :
- Créez une instance de la classe MailMessage.
- Spécifiez les adresses From ainsi que plusieurs adresses To, Cc et Bcc en utilisant l’instance MailMessage.
- Créez une instance de la classe SmtpClient et envoyez l’e‑mail en utilisant la méthode Send.
L’exemple de code ci‑dessus montre comment spécifier plusieurs adresses To, CC et BCC.
Modification des adresses e‑mail en noms conviviaux
Les exemples de code ci‑dessous montrent comment remplacer les adresses e‑mail par des noms conviviaux dans un courriel. Un nom convivial est un nom plus lisible qu’une adresse e‑mail, par exemple John Smith au lieu de js346@domain.com. Lors de l’envoi d’un courriel, nous pouvons associer un nom convivial à une adresse e‑mail dans le constructeur de la classe MailMessage.
Pour remplacer les adresses e‑mail par des noms conviviaux dans un message, suivez ces étapes :
- Créez une instance de la classe MailMessage et spécifiez les adresses e‑mail dans les champs To et From ainsi que leurs noms conviviaux.
- Spécifiez les adresses e‑mail Cc et Bcc ainsi que leurs noms conviviaux en appelant le constructeur de la classe MailMessage dans l’instance MailMessage.
- Créez une instance de la classe SmtpClient et envoyez l’e‑mail en utilisant la méthode Send.
Le fragment de code suivant montre comment afficher les noms des adresses e‑mail.
Définir le corps du mail
La classe MailMessage représente un courriel. Les instances de la classe MailMessage sont utilisées pour créer des courriels qui sont transmis à un serveur SMTP pour la livraison à l’aide de la classe SmtpClient. Le corps d’un courriel peut être spécifié avec la classe MailMessage. Un courriel peut avoir plusieurs corps. Il existe deux types de corps de courriel dans la classe MailMessage :
- Corps HTML
- Corps texte
En plus de HtmlBody et TextBody, Aspose.Email possède deux autres propriétés en lecture seule liées au corps du courriel :
- IsBodyText : indique si le corps est du texte.
- IsBodyHtml : indique si le corps est en HTML ou en texte brut.
Cet article montre comment définir un corps de texte brut ou HTML, définir un texte alternatif et encoder le corps du mail.
Définir le corps HTML
HtmlBody sert à spécifier le contenu HTML du corps d’un message. HtmlBody doit être entouré des balises . L’extrait de code suivant montre comment définir le corps HTML.
Définir le texte alternatif
Utilisez la classe AlternateView pour spécifier des copies d’un courriel dans différents formats. Par exemple, si vous envoyez un message en HTML, vous pouvez également fournir une version texte brut au cas où certains destinataires utilisent des lecteurs qui ne peuvent pas afficher le contenu HTML. Cette classe possède deux propriétés, LinkedResources et BaseUri, qui servent à résoudre les URL à l’intérieur du contenu du courriel.
- LinkedResources est une collection d’objets LinkedResources. Lors du rendu, les URL du contenu de l’e‑mail sont d’abord comparées aux URL du Content Link de chaque objet LinkedResources de la collection, puis résolues.
- BaseUri est utilisé par le lecteur de mail pour résoudre les URL relatives à l’intérieur du corps, ainsi que pour résoudre les URL de lien de contenu relatives, dans la collection LinkedResources.
Le fragment de code suivant montre comment définir le texte alternatif.
Fonctionnalités de MailMessage
Le MailMessage classe représente le contenu d’un message e‑mail. Les instances de la MailMessage classe sont utilisées pour créer un message e‑mail qui est transmis à un serveur SMTP pour la remise en utilisant le SmtpClient classe. Cet article montre comment utiliser MailMessage Fonctionnalités utilitaires de classe permettant de contrôler les fonctionnalités d’e‑mail suivantes :
- Date et heure - Via le MailMessage Propriété de classe Date que nous obtenons ou définissons pour la date et l’heure d’un e‑mail.
- Priorité du message - Le MailPriority classe spécifie les niveaux de priorité pour l’envoi d’un message e‑mail. Elle peut être basse, normale ou élevée. La priorité influence la vitesse de transmission et la livraison.
- Sensibilité du message - Le MailSensitivity classe spécifie cinq niveaux de sensibilité.
- Notification de livraison - Les notifications de livraison informent l’expéditeur que l’e‑mail qu’il a envoyé a bien été livré dans la boîte de réception du destinataire.
Par défaut, la date correspond à la date réelle à laquelle le message a été envoyé, et l’heure correspond à l’heure d’envoi, comme affiché par Microsoft Outlook. Cependant, la véritable heure de livraison de l’e‑mail est ajoutée par le serveur SMTP lui‑même dans l’en‑tête du courrier. Par exemple, ci‑dessous se trouve un en‑tête de courrier commun, où Date définit le champ Date.
Le fragment de code ci‑dessous illustre comment chacune des fonctionnalités décrites ci‑above peut être utilisée.
Demande d’accusé de lecture
Les exemples de code ci‑dessous montrent comment vous pouvez demander un accusé de lecture. Le MailMessage classe DeliveryNotificationOptions La propriété d’énumération décrit les options de notification de remise pour un e‑mail. Pour demander un accusé de lecture après l’envoi d’un e‑mail, suivez ces étapes :
- Créez une instance de la MailMessage classe.
- Spécifier l’expéditeur, le destinataire et le corps HTML pour le mail dans le MailMessage instance.
- Spécifiez le DeliveryNotificationOptions dans d’autres MailMessage instances.
- Créez une instance de la SmtpClient classe et envoyer le mail en utilisant la méthode Send.
Les demandes d’accusé de lecture ne sont pas toujours respectées parce que :
- Un client de messagerie peut ne pas implémenter cette fonctionnalité.
- L’utilisateur final peut avoir désactivé cette fonctionnalité.
- L’utilisateur final peut choisir de ne pas en envoyer.
Le fragment de code suivant montre comment demander un accusé de lecture.
Définir les en‑têtes d’e‑mail
Les en‑têtes d’e‑mail représentent une norme Internet et le RFC définit les champs d’en‑tête inclus dans les messages e‑mail Internet. Un en‑tête d’e‑mail peut être spécifié en utilisant la classe MailMessage. Les types d’en‑têtes courants sont définis dans la classe HeaderType. C’est une classe scellée fonctionnant comme une énumération normale.
Normalement, un en‑tête d’e‑mail contient ces champs :
- To : les adresses des destinataires peuvent être spécifiées dans le champ To. Les destinataires du champ To constituent le public principal du message. Il peut y avoir plusieurs adresses de destinataires.
- From : ce champ indique l’adresse e‑mail de l’expéditeur du message.
- Cc : permet aux utilisateurs d’envoyer un message en « Carbon Copy » ou « Courtesy Copy ». C’est‑à‑dire que le destinataire n’est pas censé répondre ou agir. Typiquement, le personnel de supervision est notifié par CC.
- Bcc : signifie Blind Carbon Copy, se réfère à la pratique d’envoyer un message à plusieurs destinataires de façon à ce que ce qu’ils reçoivent ne contienne pas la liste complète des destinataires. Il est destiné à une notification cachée.
- ReplyTo : ce champ d’en‑tête indique où l’expéditeur souhaite que les réponses soient envoyées.
- Subject : titre, en‑tête, sujet. Souvent utilisé comme indicateur de fil de discussion pour les messages répondant ou commentant d’autres messages.
- Date : cet en‑tête spécifie une date (et une heure). Normalement, il s’agit de la date à laquelle le message a été rédigé et envoyé.
- XMailer : informations sur le logiciel client de l’expéditeur. Exemple : X-Mailer : Aspose.Email XMailer est utilisé par les clients de messagerie. Différents clients de messagerie auront des valeurs XMailer différentes. La valeur XMailer de MS Outlook est Microsoft Office Outlook, Build 11.0.5510. Elle est ignorée par le destinataire ou le lecteur d’e‑mail.
Normalement, un en‑tête d’e‑mail ressemble à ceci :
Reply-To: reply@reply.com
From: sender@sender.com
To: guangzhou@guangzhoo.com
Subject: test mail
Date: 6 Mar 2006 8:2:2 +0800
X-Mailer: Aspose.Email
Pour personnaliser un en‑tête d’e‑mail, suivez ces étapes :
- Créez une instance de la MailMessage classe.
- Spécifier To, From, CC, Bcc, ReplyTo, Subject, Date & XMailer en utilisant une instance du MailMessage.
- Créez une instance de la MimeHeader classe et spécifiez l’en‑tête secret.
- Ajouter l’en‑tête secret au MailMessage instance.
Le fragment de code suivant montre comment définir les en‑têtes d’e‑mail.
Le fragment de code ci‑dessus produit un en‑tête d’e‑mail au format suivant. Cela peut être observé en ouvrant le fichier résultant "MsgHeaders.msg" dans Microsoft Outlook puis en visualisant les propriétés.
Reply-To: reply@reply.com
From: sender@sender.com
To: receiver1@receiver.com
CC: receiver2@receiver.com
BCC: receiver3@receiver.com
Subject: test mail
Date: 6 Mar 2006 8:2:2 +0800
X-Mailer: Aspose.Email
secret-header: mystery
Insérer un en‑tête à un emplacement spécifique
Le Add méthode de HeadersCollection classe insère l’en‑tête à la fin de la collection. Cependant, il peut parfois être nécessaire d’insérer un en‑tête à un emplacement spécifique. Dans ce cas, le Add la méthode ne sera d’aucune aide. Pour y parvenir, utilisez le Insert méthode du HeadersCollection. Si la collection contient des en‑têtes portant le même nom, cet en‑tête sera inséré avant les autres en‑têtes du même nom. L’extrait de code suivant montre comment insérer un en‑tête à un emplacement spécifique.
Ajout d’en‑têtes personnalisés à l’e‑mail
Les exemples de code ci‑dessus montrent comment spécifier un en‑tête personnalisé dans un courriel. Un en‑tête de courriel peut être spécifié avec le MailMessage classe. Pour spécifier un en‑tête personnalisé dans un courriel, suivez les étapes suivantes :
- Créez une instance de la MailMessage classe.
- Spécifiez les valeurs to, from et subject à l’aide de l’instance MailMessage.
- Ajoutez l’en‑tête secret dans le MailMessage instance.
- Créez une instance de la classe SmtpClient et envoyez l’e‑mail en utilisant la méthode Send.
Le fragment de code suivant montre comment ajouter des en‑têtes personnalisés à un e‑mail.