MailMessage Klas

Definitie

Vertegenwoordigt een e-mailbericht dat kan worden verzonden met behulp van de SmtpClient klasse.

public ref class MailMessage : IDisposable
public class MailMessage : IDisposable
type MailMessage = class
    interface IDisposable
Public Class MailMessage
Implements IDisposable
Overname
MailMessage
Implementeringen

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u een e-mailbericht maakt en verzendt dat een bijlage bevat.

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

Opmerkingen

Exemplaren van de MailMessage klasse worden gebruikt om e-mailberichten te maken die worden verzonden naar een SMTP-server voor levering met behulp van de SmtpClient klasse.

De afzender, ontvanger, onderwerp en hoofdtekst van een e-mailbericht kunnen worden opgegeven als parameters wanneer een MailMessage object wordt geïnitialiseerd MailMessage . Deze parameters kunnen ook worden ingesteld of geopend met behulp van eigenschappen voor het MailMessage object.

De primaire berichtkoppen en -elementen voor het bericht kunnen worden ingesteld met behulp van de volgende eigenschappen van de MailMessage klasse.

E-mailkop of -onderdeel Property
Attachments Attachments
Blind carbon kopieën (BCC) Bcc
Carbon-kopieën (CC) CC
Inhoudstype BodyEncoding
Codering voor aangepaste headers HeadersEncoding
Berichttekst Body
Priority Priority
Recipient To
Reply-To ReplyToList
Afzender From
Onderwerp Subject

Met MailMessage de klasse kan een toepassing ook toegang krijgen tot de verzameling headers voor het bericht met behulp van de Headers eigenschap. Hoewel deze verzameling het kenmerk Alleen-lezen heeft (een nieuwe verzameling kan niet worden ingesteld), kunnen aangepaste headers worden toegevoegd aan of verwijderd uit deze verzameling. Aangepaste headers die worden toegevoegd, worden opgenomen wanneer het MailMessage exemplaar wordt verzonden. Voordat een bericht wordt verzonden, worden alleen headers die specifiek zijn toegevoegd aan deze verzameling in de Headers eigenschap opgenomen in de verzameling. Nadat een MailMessage exemplaar is verzonden, bevat de Headers eigenschap ook headers die zijn ingesteld met behulp van de bijbehorende eigenschappen van de MailMessage klasse of parameters die worden doorgegeven wanneer een MailMessage object wordt geïnitialiseerd MailMessage .

Als sommige e-mailkoppen ongeldig zijn, kunnen ze ertoe leiden dat het e-mailbericht beschadigd raakt. Alle e-mailheaders in de verzameling kopteksten die kunnen worden ingesteld met behulp van een eigenschap in de MailMessage klasse, moeten dus alleen worden ingesteld met behulp van de MailMessage klasse-eigenschap of als parameter die wordt doorgegeven wanneer een MailMessageMailMessage object wordt geïnitialiseerd. De volgende lijst met e-mailkoppen mag niet worden toegevoegd met behulp van de Headers eigenschap en alle waarden die zijn ingesteld voor deze kopteksten met behulp van de Headers eigenschap, worden verwijderd of overschreven wanneer het bericht wordt verzonden:

  • Bcc
  • CC
  • Inhouds-id
  • Inhoudslocatie
  • Inhoud-Transfer-Encoding
  • Inhoudstype
  • Date
  • Van
  • Urgentie
  • MIME-Version
  • Priority
  • Reply-To
  • Afzender
  • Tot
  • X-prioriteit

Als de toepassing geen X-Sender-header opgeeft met behulp van de Headers eigenschap, wordt er MailMessage een gemaakt wanneer het bericht wordt verzonden.

Gebruik de AlternateViews eigenschap om kopieën van een e-mailbericht in verschillende indelingen op te geven. Als u bijvoorbeeld een bericht in HTML verzendt, kunt u ook een tekst zonder opmaak opgeven voor het geval sommige geadresseerden e-maillezers gebruiken die HTML-inhoud niet kunnen weergeven. Zie voor een voorbeeld van het maken van een bericht met alternatieve weergaven AlternateViews.

Gebruik de Attachments eigenschap om bijlagen toe te voegen aan een e-mailbericht. Zie voor een voorbeeld van het maken van een bericht met een bijlage Attachments. Als u Het aanroepen van Verwijderen op de MailMessage aanroept, wordt ook elke bijlage waarnaar wordt verwezen, verwijderd.

Nadat u uw e-mailbericht hebt samengesteld, kunt u het verzenden met behulp van de Send of SendAsync methoden.

Constructors

Name Description
MailMessage()

Initialiseert een leeg exemplaar van de MailMessage klasse.

MailMessage(MailAddress, MailAddress)

Initialiseert een nieuw exemplaar van de MailMessage klasse met behulp van de opgegeven MailAddress klasseobjecten.

MailMessage(String, String, String, String)

Initialiseert een nieuw exemplaar van de MailMessage klasse.

MailMessage(String, String)

Initialiseert een nieuw exemplaar van de MailMessage klasse met behulp van de opgegeven String klasseobjecten.

Eigenschappen

Name Description
AlternateViews

Hiermee haalt u de verzameling bijlagen op die worden gebruikt om alternatieve vormen van de hoofdtekst van het bericht op te slaan.

Attachments

Hiermee haalt u de verzameling bijlagen op die worden gebruikt om gegevens op te slaan die zijn gekoppeld aan dit e-mailbericht.

Bcc

Hiermee haalt u de adresverzameling op die de BCC-geadresseerden (Blind Carbon Copy) voor dit e-mailbericht bevat.

Body

Hiermee haalt u de hoofdtekst van het bericht op of stelt u deze in.

BodyEncoding

Hiermee wordt de codering opgehaald of ingesteld die wordt gebruikt om de hoofdtekst van het bericht te coderen.

BodyTransferEncoding

Hiermee wordt de overdrachtscodering opgehaald of ingesteld die wordt gebruikt om de hoofdtekst van het bericht te coderen.

CC

Hiermee haalt u de adresverzameling op die de CC-geadresseerden (Carbon Copy) voor dit e-mailbericht bevat.

DeliveryNotificationOptions

Hiermee worden de bezorgingsmeldingen voor dit e-mailbericht ontvangen of ingesteld.

From

Hiermee wordt het van-adres voor dit e-mailbericht opgehaald of ingesteld.

Headers

Hiermee haalt u de e-mailkoppen op die met dit e-mailbericht worden verzonden.

HeadersEncoding

Hiermee haalt u de codering op die wordt gebruikt voor de door de gebruiker gedefinieerde aangepaste headers voor dit e-mailbericht.

IsBodyHtml

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de hoofdtekst van het e-mailbericht zich in HTML bevindt.

Priority

Hiermee haalt u de prioriteit van dit e-mailbericht op of stelt u deze in.

ReplyTo
Verouderd.
Verouderd.

Hiermee haalt u het Antwoordto-adres voor het e-mailbericht op of stelt u dit in.

ReplyToList

Hiermee haalt u de lijst met adressen op die moeten worden beantwoord voor het e-mailbericht.

Sender

Hiermee haalt u het adres van de afzender voor dit e-mailbericht op of stelt u dit in.

Subject

Hiermee haalt u de onderwerpregel voor dit e-mailbericht op of stelt u deze in.

SubjectEncoding

Hiermee wordt de codering opgehaald of ingesteld die wordt gebruikt voor de onderwerpinhoud voor dit e-mailbericht.

To

Hiermee haalt u de adresverzameling op die de geadresseerden van dit e-mailbericht bevat.

Methoden

Name Description
Dispose()

Alle resources die worden gebruikt door de MailMessage.

Dispose(Boolean)

Publiceert de niet-beheerde resources die worden gebruikt door de MailMessage beheerde resources en brengt eventueel de beheerde resources vrij.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Van toepassing op