MailMessage Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje e-mailovou zprávu, která může být odeslána SmtpClient pomocí třídy .
public ref class MailMessage : IDisposable
public class MailMessage : IDisposable
type MailMessage = class
interface IDisposable
Public Class MailMessage
Implements IDisposable
- Dědičnost
-
MailMessage
- Implementuje
Příklady
Následující příklad kódu ukazuje vytvoření a odeslání e-mailové zprávy, která obsahuje přílohu.
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
Poznámky
MailMessage Instance třídy se používají k vytváření e-mailových zpráv, které jsou přenášeny na server SMTP pro doručení pomocí SmtpClient třídy .
Odesílatel, příjemce, předmět a text e-mailové zprávy mohou být zadány jako parametry, pokud MailMessage se používá k inicializaci objektu MailMessage . Tyto parametry lze také nastavit nebo přistupovat pomocí vlastností objektu MailMessage .
Záhlaví a prvky primární e-mailové zprávy pro zprávu mohou být nastaveny pomocí následujících vlastností MailMessage třídy .
Záhlaví nebo část pošty | Vlastnost |
---|---|
Přílohy | Attachments |
Slepé kopie uhlíku (BCC) | Bcc |
Kopie uhlíku (CC) | CC |
Typ obsahu | BodyEncoding |
Kódování pro vlastní hlavičky | HeadersEncoding |
Text zprávy | Body |
Priorita | Priority |
Příjemce | To |
Reply-To | ReplyToList |
Odesílatel | From |
Předmět | Subject |
Třída MailMessage také umožňuje aplikaci přistupovat ke kolekci hlaviček zprávy pomocí Headers vlastnosti . I když je tato kolekce jen pro čtení (novou kolekci nelze nastavit), lze do této kolekce přidat vlastní hlavičky nebo je z této kolekce odstranit. Všechny přidané vlastní hlavičky se zahrnou MailMessage při odeslání instance. Před odesláním zprávy jsou do kolekce zahrnuty pouze hlavičky výslovně přidané do této kolekce ve Headers vlastnosti . MailMessage Po odeslání instance bude vlastnost obsahovat také hlavičky, Headers které jsou nastaveny pomocí přidružených MailMessage vlastností třídy nebo parametrů předaných při MailMessage inicializaci objektuMailMessage.
Pokud jsou některá záhlaví pošty poškozená, může dojít k poškození e-mailové zprávy. Všechny hlavičky pošty v kolekci headers, které lze nastavit pomocí vlastnosti MailMessage třídy, by tedy měly být nastaveny pouze pomocí MailMessage vlastnosti třídy nebo jako parametr předaný při MailMessage inicializaci objektu MailMessage . Následující seznam záhlaví pošty by neměl být přidán pomocí Headers vlastnosti a všechny hodnoty nastavené pro tato záhlaví pomocí Headers této vlastnosti budou při odeslání zprávy zahozeny nebo přepsány:
Skrytá
Pole kopie
ID obsahu
Content-Location
Kódování přenosu obsahu
Typ obsahu
Datum
Z
Důležitost
MIME-Version
Priorita
Reply-To
Odesílatel
Záměr
Priorita X
Pokud aplikace nezadá hlavičku X-Sender pomocí Headers vlastnosti , MailMessage třída vytvoří hlavičku při odeslání zprávy.
AlternateViews Pomocí vlastnosti můžete zadat kopie e-mailové zprávy v různých formátech. Pokud například odesíláte zprávu ve formátu HTML, můžete také chtít zadat verzi ve formátu prostého textu pro případ, že někteří příjemci používají čtečky e-mailů, které nemůžou zobrazit obsah HTML. Příklad, který ukazuje vytvoření zprávy s alternativními zobrazeními, najdete v tématu AlternateViews.
Attachments Pomocí vlastnosti můžete k e-mailové zprávě přidat přílohy. Příklad, který ukazuje vytvoření zprávy s přílohou, najdete v tématu Attachments. Volání Dispose na MailMessage také volá Dispose na každou odkazovanou přílohu.
Po sestavení e-mailové zprávy ji můžete odeslat pomocí Send metody nebo SendAsync .
Konstruktory
MailMessage() |
Inicializuje prázdnou MailMessage instanci třídy . |
MailMessage(MailAddress, MailAddress) |
Inicializuje novou instanci MailMessage třídy pomocí zadaných MailAddress objektů třídy. |
MailMessage(String, String) |
Inicializuje novou instanci MailMessage třídy pomocí zadaných String objektů třídy. |
MailMessage(String, String, String, String) |
Inicializuje novou instanci MailMessage třídy . |
Vlastnosti
AlternateViews |
Získá kolekci příloh sloužící k ukládání alternativních formulářů textu zprávy. |
Attachments |
Získá kolekci příloh sloužící k uložení dat připojených k této e-mailové zprávě. |
Bcc |
Získá kolekci adres, která obsahuje příjemce skryté kopie (SKRYTÁ) pro tuto e-mailovou zprávu. |
Body |
Získá nebo nastaví text zprávy. |
BodyEncoding |
Získá nebo nastaví kódování použité ke kódování textu zprávy. |
BodyTransferEncoding |
Získá nebo nastaví kódování přenosu použité ke kódování textu zprávy. |
CC |
Získá kolekci adres, která obsahuje kopie (CC) příjemce této e-mailové zprávy. |
DeliveryNotificationOptions |
Získá nebo nastaví oznámení o doručení pro tuto e-mailovou zprávu. |
From |
Získá nebo nastaví adresu odesílatele pro tuto e-mailovou zprávu. |
Headers |
Získá záhlaví e-mailu, které jsou přenášeny s touto e-mailovou zprávou. |
HeadersEncoding |
Získá nebo nastaví kódování použité pro uživatelem definované vlastní hlavičky pro tuto e-mailovou zprávu. |
IsBodyHtml |
Získá nebo nastaví hodnotu označující, zda je text e-mailové zprávy v HTML. |
Priority |
Získá nebo nastaví prioritu této e-mailové zprávy. |
ReplyTo |
Zastaralé.
Zastaralé.
Zastaralé.
Získá nebo nastaví adresu Odpovědět pro e-mailovou zprávu. |
ReplyToList |
Získá seznam adres, na které chcete odpovědět na e-mailovou zprávu. |
Sender |
Získá nebo nastaví adresu odesílatele pro tuto e-mailovou zprávu. |
Subject |
Získá nebo nastaví předmět této e-mailové zprávy. |
SubjectEncoding |
Získá nebo nastaví kódování použité pro obsah předmětu této e-mailové zprávy. |
To |
Získá kolekci adres, která obsahuje příjemce této e-mailové zprávy. |
Metody
Dispose() |
Uvolní všechny prostředky používané nástrojem MailMessage. |
Dispose(Boolean) |
Uvolní nespravované prostředky používané nástrojem MailMessage a volitelně uvolní spravované prostředky. |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetType() |
Type Získá z aktuální instance. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |