Sdílet prostřednictvím


MailMessage Třída

Definice

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)

Platí pro