MailMessage Sınıf

Tanım

sınıfı kullanılarak SmtpClient gönderilebilen bir e-posta iletisini temsil eder.

public ref class MailMessage : IDisposable
public class MailMessage : IDisposable
type MailMessage = class
    interface IDisposable
Public Class MailMessage
Implements IDisposable
Devralma
MailMessage
Uygulamalar

Örnekler

Aşağıdaki kod örneği, ek içeren bir e-posta iletisi oluşturmayı ve göndermeyi gösterir.

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

Açıklamalar

sınıfının örnekleri MailMessage , sınıfı kullanılarak SmtpClient teslim edilmek üzere bir SMTP sunucusuna iletilen e-posta iletilerini oluşturmak için kullanılır.

E-posta iletisinin göndereni, alıcısı, konusu ve gövdesi, bir MailMessage nesneyi başlatmak için kullanıldığında parametre MailMessage olarak belirtilebilir. Bu parametreler nesnedeki MailMessage özellikler kullanılarak da ayarlanabilir veya bunlara erişilebilir.

İletinin birincil posta iletisi üst bilgileri ve öğeleri sınıfın aşağıdaki özellikleri MailMessage kullanılarak ayarlanabilir.

Posta üst bilgisi veya bölümü Özellik
Ekler Attachments
Kör karbon kopyaları (Gizli) Bcc
Karbon kopyaları (CC) CC
İçerik Türü BodyEncoding
Özel üst bilgiler için kodlama HeadersEncoding
İleti gövdesi Body
Öncelik Priority
Alıcı To
Reply-To ReplyToList
Gönderen From
Konu Subject

sınıfı, MailMessage bir uygulamanın özelliğini kullanarak iletinin üst bilgi koleksiyonuna erişmesine Headers de izin verir. Bu koleksiyon salt okunur olsa da (yeni bir koleksiyon ayarlanamaz), özel üst bilgiler bu koleksiyona eklenebilir veya bu koleksiyondan silinebilir. Eklenen tüm özel üst bilgiler, örnek gönderildiğinde MailMessage eklenir. İleti gönderilmeden önce yalnızca özelliğinde Headers bu koleksiyona özel olarak eklenen üst bilgiler koleksiyona eklenir. Bir MailMessage örnek gönderildikten sonra özelliği, Headers bir nesnesini başlatmak MailMessage için kullanıldığında geçirilen MailMessage sınıfın veya parametrelerin MailMessage ilişkili özellikleri kullanılarak ayarlanan üst bilgileri de içerir.

Bazı posta üst bilgileri hatalı biçimlendirilmişse, e-posta iletisinin bozulmasına neden olabilir. Bu nedenle, üst bilgi koleksiyonundaki sınıftaki bir özellik MailMessage kullanılarak ayarlanabilen tüm posta üst bilgileri yalnızca sınıf özelliği kullanılarak MailMessage veya bir MailMessage nesne başlatıldığında geçirilen MailMessage bir parametre olarak ayarlanmalıdır. Aşağıdaki posta üst bilgileri listesi özelliği kullanılarak Headers eklenmemelidir ve bu üst bilgiler için özellik kullanılarak Headers ayarlanan değerler ileti gönderildiğinde atılır veya üzerine yazılır:

  • Gizli

  • Bilgi

  • content-id

  • İçerik Konumu

  • İçerik Aktarımı-Kodlama

  • İçerik Türü

  • Tarih

  • Kaynak

  • Önem

  • MIME-Version

  • Öncelik

  • Reply-To

  • Gönderen

  • Amaç

  • X Önceliği

Uygulama özelliğini kullanarak Headers bir X-Sender üst bilgisi belirtmezse, MailMessage ileti gönderildiğinde sınıf bir üst bilgi oluşturur.

Bir e-posta iletisinin AlternateViews kopyalarını farklı biçimlerde belirtmek için özelliğini kullanın. Örneğin, HTML ile ileti gönderirseniz, alıcılardan bazılarının HTML içeriğini görüntüleyemeyen e-posta okuyucuları kullanması durumunda düz metin sürümü de sağlamak isteyebilirsiniz. Alternatif görünümlerle ileti oluşturmayı gösteren bir örnek için bkz AlternateViews. .

Attachments E-posta iletisine ek eklemek için özelliğini kullanın. Ek içeren bir ileti oluşturmayı gösteren bir örnek için bkz Attachments. . MailMessage üzerinde Dispose çağrısı, başvuruda bulunan her ekte Dispose işlevini de çağırır.

E-posta iletinizi derledikten sonra veya SendAsync yöntemlerini kullanarak Send gönderebilirsiniz.

Oluşturucular

MailMessage()

sınıfının boş bir örneğini MailMessage başlatır.

MailMessage(MailAddress, MailAddress)

Belirtilen MailAddress sınıf nesnelerini kullanarak sınıfının yeni bir örneğini MailMessage başlatır.

MailMessage(String, String)

Belirtilen String sınıf nesnelerini kullanarak sınıfının yeni bir örneğini MailMessage başlatır.

MailMessage(String, String, String, String)

MailMessage sınıfının yeni bir örneğini başlatır.

Özellikler

AlternateViews

İleti gövdesinin alternatif formlarını depolamak için kullanılan ek koleksiyonunu alır.

Attachments

Bu e-posta iletisine eklenmiş verileri depolamak için kullanılan ek koleksiyonunu alır.

Bcc

Bu e-posta iletisi için gizli kopya (Gizli) alıcılarını içeren adres koleksiyonunu alır.

Body

İleti gövdesini alır veya ayarlar.

BodyEncoding

İleti gövdesini kodlamak için kullanılan kodlamayı alır veya ayarlar.

BodyTransferEncoding

İleti gövdesini kodlamak için kullanılan aktarım kodlamasını alır veya ayarlar.

CC

Bu e-posta iletisi için karbon kopya (CC) alıcılarını içeren adres koleksiyonunu alır.

DeliveryNotificationOptions

Bu e-posta iletisi için teslim bildirimlerini alır veya ayarlar.

From

Bu e-posta iletisinin kimden adresini alır veya ayarlar.

Headers

Bu e-posta iletisiyle iletilen e-posta üst bilgilerini alır.

HeadersEncoding

Bu e-posta iletisi için kullanıcı tanımlı özel üst bilgiler için kullanılan kodlamayı alır veya ayarlar.

IsBodyHtml

Posta iletisi gövdesinin HTML içinde olup olmadığını belirten bir değer alır veya ayarlar.

Priority

Bu e-posta iletisinin önceliğini alır veya ayarlar.

ReplyTo
Geçersiz.
Geçersiz.
Geçersiz.

Posta iletisinin ReplyTo adresini alır veya ayarlar.

ReplyToList

Posta iletisi için yanıtladığınız adreslerin listesini alır.

Sender

Bu e-posta iletisi için gönderenin adresini alır veya ayarlar.

Subject

Bu e-posta iletisinin konu satırını alır veya ayarlar.

SubjectEncoding

Bu e-posta iletisinin konu içeriği için kullanılan kodlamayı alır veya ayarlar.

To

Bu e-posta iletisinin alıcılarını içeren adres koleksiyonunu alır.

Yöntemler

Dispose()

MailMessage tarafından kullanılan tüm kaynakları serbest bırakır.

Dispose(Boolean)

MailMessage tarafından kullanılan yönetilmeyen kaynakları serbest bırakır ve yönetilen kaynakları isteğe bağlı olarak serbest bırakır.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır