MailMessage Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente un message électronique qui peut être envoyé à l’aide de la SmtpClient classe.
public ref class MailMessage : IDisposable
public class MailMessage : IDisposable
type MailMessage = class
interface IDisposable
Public Class MailMessage
Implements IDisposable
- Héritage
-
MailMessage
- Implémente
Exemples
L’exemple de code suivant illustre la création et l’envoi d’un message électronique incluant une pièce jointe.
public static void CreateMessageWithAttachment(string server)
{
// Specify the file to be attached and sent.
// This example assumes that a file named Data.xls exists in the
// current working directory.
string file = "data.xls";
// Create a message and set up the recipients.
MailMessage message = new MailMessage(
"jane@contoso.com",
"ben@contoso.com",
"Quarterly data report.",
"See the attached spreadsheet.");
// Create the file attachment for this email message.
Attachment data = new Attachment(file, MediaTypeNames.Application.Octet);
// Add time stamp information for the file.
ContentDisposition disposition = data.ContentDisposition;
disposition.CreationDate = System.IO.File.GetCreationTime(file);
disposition.ModificationDate = System.IO.File.GetLastWriteTime(file);
disposition.ReadDate = System.IO.File.GetLastAccessTime(file);
// Add the file attachment to this email message.
message.Attachments.Add(data);
//Send the message.
SmtpClient client = new SmtpClient(server);
// Add credentials if the SMTP server requires them.
client.Credentials = CredentialCache.DefaultNetworkCredentials;
try
{
client.Send(message);
}
catch (Exception ex)
{
Console.WriteLine("Exception caught in CreateMessageWithAttachment(): {0}",
ex.ToString());
}
// Display the values in the ContentDisposition for the attachment.
ContentDisposition cd = data.ContentDisposition;
Console.WriteLine("Content disposition");
Console.WriteLine(cd.ToString());
Console.WriteLine("File {0}", cd.FileName);
Console.WriteLine("Size {0}", cd.Size);
Console.WriteLine("Creation {0}", cd.CreationDate);
Console.WriteLine("Modification {0}", cd.ModificationDate);
Console.WriteLine("Read {0}", cd.ReadDate);
Console.WriteLine("Inline {0}", cd.Inline);
Console.WriteLine("Parameters: {0}", cd.Parameters.Count);
foreach (DictionaryEntry d in cd.Parameters)
{
Console.WriteLine("{0} = {1}", d.Key, d.Value);
}
data.Dispose();
}
Public Shared Sub CreateMessageWithAttachment(ByVal server As String)
' Specify the file to be attached And sent.
' This example assumes that a file named Data.xls exists in the
' current working directory.
Dim file As String = "data.xls"
' Create a message and set up the recipients.
Dim message As MailMessage = New MailMessage(
"jane@contoso.com",
"ben@contoso.com",
"Quarterly data report.",
"See the attached spreadsheet.")
' Create the file attachment for this email message.
Dim data As Attachment = New Attachment(file, MediaTypeNames.Application.Octet)
' Add time stamp information for the file.
Dim disposition As ContentDisposition = data.ContentDisposition
disposition.CreationDate = System.IO.File.GetCreationTime(file)
disposition.ModificationDate = System.IO.File.GetLastWriteTime(file)
disposition.ReadDate = System.IO.File.GetLastAccessTime(file)
' Add the file attachment to this email message.
message.Attachments.Add(data)
' Send the message
Dim client As SmtpClient = New SmtpClient(server)
' Add credentials if the SMTP server requires them.
client.Credentials = CredentialCache.DefaultNetworkCredentials
Try
client.Send(message)
Catch ex As Exception
Console.WriteLine("Exception caught in CreateMessageWithAttachment(): {0}", ex.ToString())
End Try
' Display the values in the ContentDisposition for the attachment.
Dim cd As ContentDisposition = data.ContentDisposition
Console.WriteLine("Content disposition")
Console.WriteLine(cd.ToString())
Console.WriteLine("File {0}", cd.FileName)
Console.WriteLine("Size {0}", cd.Size)
Console.WriteLine("Creation {0}", cd.CreationDate)
Console.WriteLine("Modification {0}", cd.ModificationDate)
Console.WriteLine("Read {0}", cd.ReadDate)
Console.WriteLine("Inline {0}", cd.Inline)
Console.WriteLine("Parameters: {0}", cd.Parameters.Count)
For Each d As DictionaryEntry In cd.Parameters
Console.WriteLine("{0} = {1}", d.Key, d.Value)
Next
data.Dispose()
End Sub
Remarques
Les instances de la MailMessage classe sont utilisées pour construire des messages électroniques transmis à un serveur SMTP pour la remise à l’aide de la SmtpClient classe.
L’expéditeur, le destinataire, l’objet et le corps d’un message électronique peuvent être spécifiés en tant que paramètres lorsqu’un MailMessage objet est utilisé pour initialiser un MailMessage objet. Ces paramètres peuvent également être définis ou accessibles à l’aide de propriétés sur l’objet MailMessage .
Les en-têtes et éléments de message de messagerie principaux pour le message peuvent être définis à l’aide des propriétés suivantes de la MailMessage classe.
| En-tête ou partie de courrier | Propriété |
|---|---|
| Attachments | Attachments |
| Copies en carbone aveugles (CCI) | Bcc |
| Copies carbone (CC) | CC |
| Type de contenu | BodyEncoding |
| Encodage pour les en-têtes personnalisés | HeadersEncoding |
| Corps du message | Body |
| Priority | Priority |
| Recipient | To |
| Répondre à | ReplyToList |
| Expéditeur | From |
| Sujet | Subject |
La MailMessage classe permet également à une application d’accéder à la collection d’en-têtes du message à l’aide de la Headers propriété. Bien que cette collection soit en lecture seule (une nouvelle collection ne peut pas être définie), les en-têtes personnalisés peuvent être ajoutés ou supprimés de cette collection. Tous les en-têtes personnalisés ajoutés seront inclus lors de l’envoi de l’instance MailMessage . Avant d’envoyer un message, seuls les en-têtes spécifiquement ajoutés à cette collection dans la Headers propriété sont inclus dans la collection. Une fois l’instance MailMessage envoyée, la Headers propriété inclut également des en-têtes définis à l’aide des propriétés associées de la MailMessage classe ou des paramètres passés lorsqu’un MailMessage objet est utilisé pour initialiser un MailMessage objet.
Si certains en-têtes de courrier sont mal formés, ils peuvent provoquer l’endommagement du message électronique. Par conséquent, tout en-tête de messagerie dans la collection d’en-têtes qui peut être défini à l’aide d’une propriété sur la MailMessage classe ne doit être défini qu’à l’aide de la MailMessage propriété de classe ou en tant que paramètre passé lorsqu’un MailMessage objet initialise un MailMessage objet. La liste suivante d’en-têtes de courrier ne doit pas être ajoutée à l’aide de la Headers propriété et toutes les valeurs définies pour ces en-têtes à l’aide de la Headers propriété seront ignorées ou remplacées lorsque le message est envoyé :
- Bcc
- Cc
- CONTENT-ID
- Emplacement du contenu
- Contenu -Transfer-Encoding
- Type de contenu
- Date
- De
- Importance
- MIME-Version
- Priority
- Répondre à
- Expéditeur
- À
- Priorité X
Si l’application ne spécifie pas d’en-tête X-Sender à l’aide de la Headers propriété, la MailMessage classe en crée une lorsque le message est envoyé.
Utilisez la AlternateViews propriété pour spécifier des copies d’un message électronique dans différents formats. Par exemple, si vous envoyez un message au format HTML, vous pouvez également fournir une version en texte brut si certains des destinataires utilisent des lecteurs de courrier qui ne peuvent pas afficher le contenu HTML. Pour obtenir un exemple illustrant la création d’un message avec d’autres affichages, consultez AlternateViews.
Utilisez la Attachments propriété pour ajouter des pièces jointes à un message électronique. Pour obtenir un exemple illustrant la création d’un message avec une pièce jointe, consultez Attachments. L’appel de Dispose sur MailMessage appelle également Dispose sur chaque pièce jointe référencée.
Après avoir assemblé votre e-mail, vous pouvez l’envoyer à l’aide des méthodes ou SendAsync des Send méthodes.
Constructeurs
| Nom | Description |
|---|---|
| MailMessage() |
Initialise une instance vide de la MailMessage classe. |
| MailMessage(MailAddress, MailAddress) |
Initialise une nouvelle instance de la MailMessage classe à l’aide des objets de classe spécifiés MailAddress . |
| MailMessage(String, String, String, String) |
Initialise une nouvelle instance de la classe MailMessage. |
| MailMessage(String, String) |
Initialise une nouvelle instance de la MailMessage classe à l’aide des objets de classe spécifiés String . |
Propriétés
| Nom | Description |
|---|---|
| AlternateViews |
Obtient la collection de pièces jointes utilisée pour stocker d’autres formes du corps du message. |
| Attachments |
Obtient la collection de pièces jointes utilisée pour stocker les données attachées à ce message électronique. |
| Bcc |
Obtient la collection d’adresses qui contient les destinataires de copie carbone aveugle (CCI) pour ce message électronique. |
| Body |
Obtient ou définit le corps du message. |
| BodyEncoding |
Obtient ou définit l’encodage utilisé pour encoder le corps du message. |
| BodyTransferEncoding |
Obtient ou définit l’encodage de transfert utilisé pour encoder le corps du message. |
| CC |
Obtient la collection d’adresses qui contient les destinataires de copie carbone (CC) pour ce message électronique. |
| DeliveryNotificationOptions |
Obtient ou définit les notifications de remise pour ce message électronique. |
| From |
Obtient ou définit l’adresse de l’adresse de ce message électronique. |
| Headers |
Obtient les en-têtes d’e-mail transmis avec ce message électronique. |
| HeadersEncoding |
Obtient ou définit l’encodage utilisé pour les en-têtes personnalisés définis par l’utilisateur pour ce message électronique. |
| IsBodyHtml |
Obtient ou définit une valeur indiquant si le corps du message électronique est au format HTML. |
| Priority |
Obtient ou définit la priorité de ce message électronique. |
| ReplyTo |
Obsolète.
Obsolète.
Obsolète.
Obtient ou définit l’adresse ReplyTo pour le message électronique. |
| ReplyToList |
Obtient la liste des adresses auxquelles répondre pour le message électronique. |
| Sender |
Obtient ou définit l’adresse de l’expéditeur pour ce message électronique. |
| Subject |
Obtient ou définit la ligne d’objet de ce message électronique. |
| SubjectEncoding |
Obtient ou définit l’encodage utilisé pour le contenu de l’objet pour ce message électronique. |
| To |
Obtient la collection d’adresses qui contient les destinataires de cet e-mail. |
Méthodes
| Nom | Description |
|---|---|
| Dispose() |
Libère toutes les ressources utilisées par le MailMessage. |
| Dispose(Boolean) |
Libère les ressources non managées utilisées par les MailMessage ressources gérées et libère éventuellement les ressources managées. |
| Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
| GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |