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 SmtpClient zprávu, kterou lze odeslat 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.
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 vytvoření e-mailových zpráv přenášených na server SMTP pro doručování 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 mohou být také nastaveny nebo přístupné pomocí vlastností objektu MailMessage .
Záhlaví a prvky primární e-mailové zprávy mohou být nastaveny pomocí následujících vlastností MailMessage třídy.
| Záhlaví nebo část pošty | Vlastnictví |
|---|---|
| Attachments | Attachments |
| Slepé kopie (SKRYTÁ) | Bcc |
| Kopie uhlíku (CC) | CC |
| Typ obsahu | BodyEncoding |
| Kódování pro vlastní hlavičky | HeadersEncoding |
| Text zprávy | Body |
| Priorita | Priority |
| Recipient | To |
| Reply-To | ReplyToList |
| Odesílatel | From |
| Předmět | Subject |
Třída MailMessage také umožňuje aplikaci přístup k kolekci hlaviček pro zprávu pomocí Headers vlastnosti. I když je tato kolekce určená jen pro čtení (novou kolekci nelze nastavit), je možné do této kolekce přidat nebo odstranit vlastní hlavičky. Všechny přidané vlastní hlavičky budou zahrnuty při MailMessage odeslání instance. Před odesláním zprávy se do kolekce zahrnou pouze hlavičky, které jsou do této kolekce Headers přidány. Po odeslání Headers instance bude vlastnost také obsahovat hlavičky, které jsou nastaveny pomocí přidružených MailMessage vlastností třídy nebo parametrů předaných při MailMessage použití k inicializaci objektuMailMessage.MailMessage
Pokud jsou některá záhlaví pošty poškozená, můžou způsobit poškození e-mailové zprávy. Takže jakákoli hlavička pošty v kolekci hlaviček, která lze nastavit pomocí vlastnosti třídy MailMessage , by měla být nastavena 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 vlastnosti budou při odeslání zprávy zahozeny nebo přepsány:
- Skrytá kopie
- Cc
- ID obsahu
- Umístění obsahu
- Content-Transfer-Encoding
- Typ obsahu
- Date
- Od
- Důležitost
- MIME-Version
- Priorita
- Reply-To
- Odesílatel
- To
- Priorita X
Pokud aplikace nezadá hlavičku X-Sender pomocí Headers vlastnosti, MailMessage třída ji vytvoří při odeslání zprávy.
AlternateViews Vlastnost slouží k určení kopií e-mailové zprávy v různých formátech. Pokud například odešlete zprávu ve formátu HTML, můžete také chtít zadat verzi prostého textu pro případ, že někteří příjemci používají čtečky e-mailu, které nemůžou zobrazit obsah HTML. Příklad, který ukazuje vytvoření zprávy s alternativními zobrazeními, viz AlternateViews.
Attachments Pomocí vlastnosti můžete přidat přílohy do e-mailové zprávy. Příklad, který ukazuje vytvoření zprávy s přílohou, viz Attachments. Volání Dispose na MailMessage také volá Dispose pro každou odkazovanou přílohu.
Po sestavení e-mailové zprávy ji můžete odeslat pomocí Send metod nebo SendAsync metod.
Konstruktory
| Name | Description |
|---|---|
| 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, String, String) |
Inicializuje novou instanci MailMessage třídy. |
| MailMessage(String, String) |
Inicializuje novou instanci MailMessage třídy pomocí zadaných String objektů třídy. |
Vlastnosti
| Name | Description |
|---|---|
| AlternateViews |
Získá kolekci příloh, která slouží k ukládání alternativních forem textu zprávy. |
| Attachments |
Získá kolekci příloh, která slouží k ukládání dat připojených k této e-mailové zprávě. |
| Bcc |
Získá kolekci adres, která obsahuje příjemce skryté kopie (BCC) 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é k kódování textu zprávy. |
| CC |
Získá kolekci adres, která obsahuje příjemce kopie uhlíku (CC) pro tuto e-mailovou zprávu. |
| DeliveryNotificationOptions |
Získá nebo nastaví oznámení o doručení pro tuto e-mailovou zprávu. |
| From |
Získá nebo nastaví z adresy pro tuto e-mailovou zprávu. |
| Headers |
Získá e-mailové hlavičky, které jsou přenášeny s touto e-mailovou zprávou. |
| HeadersEncoding |
Získá nebo nastaví kódování použité pro uživatelsky definované vlastní hlavičky pro tuto e-mailovou zprávu. |
| IsBodyHtml |
Získá nebo nastaví hodnotu urč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 ReplyTo pro e-mailovou zprávu. |
| ReplyToList |
Získá seznam adres pro odpověď na e-mailovou zprávu. |
| Sender |
Získá nebo nastaví adresu odesílatele pro tuto e-mailovou zprávu. |
| Subject |
Získá nebo nastaví řádek předmětu pro tuto e-mailovou zprávu. |
| SubjectEncoding |
Získá nebo nastaví kódování použité pro obsah předmětu pro tuto e-mailovou zprávu. |
| To |
Získá kolekci adres, která obsahuje příjemce této e-mailové zprávy. |
Metody
| Name | Description |
|---|---|
| Dispose() |
Uvolní všechny prostředky používané nástrojem MailMessage. |
| Dispose(Boolean) |
Uvolní nespravované prostředky používané MailMessage a volitelně uvolní spravované prostředky. |
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |