MailMessage Klass

Definition

Representerar ett e-postmeddelande som kan skickas med hjälp av SmtpClient klassen.

public ref class MailMessage : IDisposable
public class MailMessage : IDisposable
type MailMessage = class
    interface IDisposable
Public Class MailMessage
Implements IDisposable
Arv
MailMessage
Implementeringar

Exempel

I följande kodexempel visas hur du skapar och skickar ett e-postmeddelande som innehåller en bifogad fil.

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

Kommentarer

Instanser av MailMessage klassen används för att konstruera e-postmeddelanden som överförs till en SMTP-server för leverans med hjälp av SmtpClient klassen.

Avsändaren, mottagaren, ämnet och brödtexten i ett e-postmeddelande kan anges som parametrar när ett MailMessage används för att initiera ett MailMessage objekt. Dessa parametrar kan också anges eller användas med hjälp av egenskaper för MailMessage objektet.

Huvud och element för det primära e-postmeddelandet kan anges med hjälp av följande egenskaper för MailMessage klassen.

E-posthuvud eller del Fastighet
Bilagor Attachments
Kopior av blinda kol (BCC) Bcc
Kopior av koldioxid (CC) CC
Innehållstyp BodyEncoding
Kodning för anpassade rubriker HeadersEncoding
Meddelandetext Body
Prioritet Priority
Mottagare To
Svara till ReplyToList
Avsändare From
Subjekt Subject

Klassen MailMessage tillåter också att ett program får åtkomst till sidhuvudsamlingen för meddelandet med hjälp av Headers egenskapen . Även om den här samlingen är skrivskyddad (det går inte att ange en ny samling), kan anpassade rubriker läggas till eller tas bort från den här samlingen. Alla anpassade rubriker som läggs till inkluderas när instansen MailMessage skickas. Innan ett meddelande skickas inkluderas endast rubriker som har lagts till i den Headers här samlingen i egenskapen i samlingen. När en MailMessage instans har skickats Headers innehåller egenskapen även rubriker som anges med hjälp av de associerade egenskaperna för klassen eller parametrarna MailMessage som skickas när en MailMessage används för att initiera ett MailMessage objekt.

Om vissa e-posthuvuden är felaktiga kan de orsaka att e-postmeddelandet skadas. Så alla e-posthuvuden i samlingsrubriker som kan anges med hjälp av en egenskap i MailMessage klassen bör endast anges med hjälp av klassegenskapen MailMessage eller som en parameter som skickas när ett MailMessage objekt initieras MailMessage . Följande lista över e-posthuvuden Headers ska inte läggas till med hjälp av egenskapen och alla värden som anges för dessa rubriker med egenskapen Headers ignoreras eller skrivs över när meddelandet skickas:

  • Bcc
  • Kubikcentimeter
  • Innehålls-ID
  • Innehållsplats
  • Innehållsöverföring-Kodning
  • Innehållstyp
  • Datum
  • Från
  • Viktighet
  • MIME-Version
  • Prioritet
  • Svara till
  • Avsändare
  • Till
  • X-prioritet

Om programmet inte anger ett X-Sender-huvud med egenskapen HeadersMailMessage skapar klassen en när meddelandet skickas.

Använd egenskapen AlternateViews för att ange kopior av ett e-postmeddelande i olika format. Om du till exempel skickar ett meddelande i HTML kanske du också vill ange en oformaterad textversion om vissa mottagare använder e-postläsare som inte kan visa HTML-innehåll. Ett exempel som visar hur du skapar ett meddelande med alternativa vyer finns i AlternateViews.

Använd egenskapen Attachments för att lägga till bifogade filer i ett e-postmeddelande. Ett exempel som visar hur du skapar ett meddelande med en bifogad fil finns i Attachments. Att anropa Dispose på MailMessage anropar också Dispose på varje refererad bifogad fil.

När du har monterat e-postmeddelandet kan du skicka det med hjälp Send av metoderna eller SendAsync .

Konstruktorer

Name Description
MailMessage()

Initierar en tom instans av MailMessage klassen.

MailMessage(MailAddress, MailAddress)

Initierar en ny instans av MailMessage klassen med hjälp av de angivna MailAddress klassobjekten.

MailMessage(String, String, String, String)

Initierar en ny instans av MailMessage klassen.

MailMessage(String, String)

Initierar en ny instans av MailMessage klassen med hjälp av de angivna String klassobjekten.

Egenskaper

Name Description
AlternateViews

Hämtar den samling med bifogade filer som används för att lagra alternativa former av meddelandetexten.

Attachments

Hämtar den samling med bifogade filer som används för att lagra data som är kopplade till det här e-postmeddelandet.

Bcc

Hämtar adresssamlingen som innehåller mottagare av blinda kolkopior (BCC) för det här e-postmeddelandet.

Body

Hämtar eller anger meddelandetexten.

BodyEncoding

Hämtar eller anger den kodning som används för att koda meddelandetexten.

BodyTransferEncoding

Hämtar eller anger den överföringskodning som används för att koda meddelandetexten.

CC

Hämtar den adresssamling som innehåller mottagare av kopia (CC) för det här e-postmeddelandet.

DeliveryNotificationOptions

Hämtar eller anger leveransmeddelanden för det här e-postmeddelandet.

From

Hämtar eller anger från-adressen för det här e-postmeddelandet.

Headers

Hämtar de e-posthuvuden som skickas med det här e-postmeddelandet.

HeadersEncoding

Hämtar eller anger den kodning som används för de användardefinierade anpassade rubrikerna för det här e-postmeddelandet.

IsBodyHtml

Hämtar eller anger ett värde som anger om e-postmeddelandets brödtext finns i HTML.

Priority

Hämtar eller anger prioriteten för det här e-postmeddelandet.

ReplyTo
Föråldrad.
Föråldrad.
Föråldrad.

Hämtar eller anger ReplyTo-adressen för e-postmeddelandet.

ReplyToList

Hämtar listan med adresser att svara på för e-postmeddelandet.

Sender

Hämtar eller anger avsändarens adress för det här e-postmeddelandet.

Subject

Hämtar eller anger ämnesraden för det här e-postmeddelandet.

SubjectEncoding

Hämtar eller anger den kodning som används för ämnesinnehållet för det här e-postmeddelandet.

To

Hämtar den adresssamling som innehåller mottagarna av det här e-postmeddelandet.

Metoder

Name Description
Dispose()

Släpper alla resurser som används av MailMessage.

Dispose(Boolean)

Släpper de ohanterade resurser som används av MailMessage och släpper eventuellt de hanterade resurserna.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Gäller för