Sdílet prostřednictvím


MailMessage Třída

Definice

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)

Platí pro