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 e-mail qui peut être envoyé à l’aide de la classe SmtpClient.
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 e-mail contenant une pièce jointe.
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 = L"data.xls";
// Create a message and set up the recipients.
MailMessage^ message = gcnew MailMessage( L"jane@contoso.com",L"ben@contoso.com",L"Quarterly data report.",L"See the attached spreadsheet." );
// Create the file attachment for this email message.
Attachment^ data = gcnew 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 = gcnew SmtpClient( server );
// Add credentials if the SMTP server requires them.
client->Credentials = CredentialCache::DefaultNetworkCredentials;
client->Send( message );
// Display the values in the ContentDisposition for the attachment.
ContentDisposition^ cd = data->ContentDisposition;
Console::WriteLine( L"Content disposition" );
Console::WriteLine( cd );
Console::WriteLine( L"File {0}", cd->FileName );
Console::WriteLine( L"Size {0}", cd->Size );
Console::WriteLine( L"Creation {0}", cd->CreationDate );
Console::WriteLine( L"Modification {0}", cd->ModificationDate );
Console::WriteLine( L"Read {0}", cd->ReadDate );
Console::WriteLine( L"Inline {0}", cd->Inline );
Console::WriteLine( L"Parameters: {0}", cd->Parameters->Count );
IEnumerator^ myEnum1 = cd->Parameters->GetEnumerator();
while ( myEnum1->MoveNext() )
{
DictionaryEntry^ d = safe_cast<DictionaryEntry^>(myEnum1->Current);
Console::WriteLine( L"{0} = {1}", d->Key, d->Value );
}
data->~Attachment();
client->~SmtpClient();
}
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 qui sont transmis à un serveur SMTP pour 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 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 composant de courrier | Propriété |
---|---|
Pièces jointes | Attachments |
Copies carbone aveugles (BCC) | Bcc |
Copies carbone (CC) | CC |
Content-Type | BodyEncoding |
Encodage pour les en-têtes personnalisés | HeadersEncoding |
Corps du message | Body |
Priorité | Priority |
Recipient | To |
Répondre à | ReplyToList |
Expéditeur | From |
Objet | Subject |
La MailMessage classe permet également à une application d’accéder à la collection d’en-têtes pour le 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), des en-têtes personnalisés peuvent être ajoutés ou supprimés de cette collection. Tous les en-têtes personnalisés ajoutés sont inclus lors de l’envoi de la MailMessage instance. Avant l’envoi d’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 le MailMessage instance envoyé, 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 est utilisé pour initialiser un MailMessage objet.
Si certains en-têtes de courrier sont mal formés, ils peuvent endommager le message électronique. Par conséquent, tout en-tête de courrier 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é lors de l’initialisation d’un MailMessageMailMessage 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 lors de l’envoi du message :
Cci
Cc
Content-ID
Content-Location
Encodage de transfert de contenu
Content-Type
Date
À partir
Importance
MIME-Version
Priorité
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 un 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 destinataires utilisent des lecteurs de courrier qui ne peuvent pas afficher de contenu HTML. Pour obtenir un exemple illustrant la création d’un message avec d’autres vues, consultez AlternateViews.
Utilisez la Attachments propriété pour ajouter des pièces jointes à un e-mail. 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 message électronique, vous pouvez l’envoyer à l’aide des Send méthodes ou SendAsync .
Constructeurs
MailMessage() |
Initialise une instance vide de la classe MailMessage. |
MailMessage(MailAddress, MailAddress) |
Initialise une nouvelle instance de la classe MailMessage en utilisant les objets de classe MailAddress spécifiés. |
MailMessage(String, String) |
Initialise une nouvelle instance de la classe MailMessage en utilisant les objets de classe String spécifiés. |
MailMessage(String, String, String, String) |
Initialise une nouvelle instance de la classe MailMessage. |
Propriétés
AlternateViews |
Obtient la collection de pièces jointes utilisée pour stocker d'autres formes du corps de message. |
Attachments |
Obtient la collection de pièces jointes utilisée pour stocker les données jointes à cet e-mail. |
Bcc |
Obtient la collection d’adresses qui contient les destinataires de copie carbone invisible (CCI) pour cet e-mail. |
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 cet e-mail. |
DeliveryNotificationOptions |
Obtient ou définit les notifications de remise de cet e-mail. |
From |
Obtient ou définit l’adresse de l’expéditeur de cet e-mail. |
Headers |
Obtient les en-têtes d’e-mails qui sont transmis avec cet e-mail. |
HeadersEncoding |
Obtient ou définit l’encodage utilisé pour les en-têtes personnalisés définis par l’utilisateur de cet e-mail. |
IsBodyHtml |
Obtient ou définit une valeur indiquant si le corps de l’e-mail est au format HTML. |
Priority |
Obtient ou définit la priorité de cet e-mail. |
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 une réponse à l’e-mail doit être envoyée. |
Sender |
Obtient ou définit l’adresse de l’expéditeur de cet e-mail. |
Subject |
Obtient ou définit la ligne d’objet de cet e-mail. |
SubjectEncoding |
Obtient ou définit l’encodage utilisé pour le contenu de l’objet de cet e-mail. |
To |
Obtient la collection d’adresses qui contient les destinataires de cet e-mail. |
Méthodes
Dispose() |
Libère toutes les ressources utilisées par MailMessage. |
Dispose(Boolean) |
Libère les ressources non managées utilisées par MailMessage 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() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |