Aracılığıyla paylaş


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.

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 MailMessage örnekleri, sınıfı kullanılarak SmtpClient teslim edilmek üzere 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 nesne 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ü Mülkiyet
Attachments 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
Priority Priority
Recipient To
Yanıtla 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), bu koleksiyona özel üst bilgiler eklenebilir veya bu koleksiyondan silinebilir. Eklenen tüm özel üst bilgiler, örnek gönderildiğinde MailMessage eklenir. İleti gönderilmeden önce, koleksiyona yalnızca özelliğinde Headers bu koleksiyona özel olarak eklenen üst bilgiler eklenir. Bir MailMessage örnek gönderildikten sonra özelliği, Headers bir nesneyi 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 yanlış biçimlendirilmişse, e-posta iletisinin bozulmasına neden olabilir. Bu nedenle, üst bilgi koleksiyonunda bulunan ve sınıftaki bir özellik MailMessage kullanılarak ayarlanabilen herhangi bir posta üst bilgisi yalnızca sınıf özelliği kullanılarak MailMessage veya bir nesne başlatıldığında MailMessage geçirilen MailMessage bir parametre olarak ayarlanmalıdır. Aşağıdaki posta üst bilgileri listesi özelliği kullanılarak eklenmemelidir ve özelliği kullanılarak HeadersHeaders bu üst bilgiler için ayarlanan değerler ileti gönderildiğinde atılır veya üzerine yazılır:

  • Gizli (BCC)
  • Cc
  • Content-ID
  • İçerik Konumu
  • İçerik-Aktarım-Şifreleme
  • İçerik Türü
  • Tarih
  • Kaynak
  • Önemi
  • MIME-Version
  • Priority
  • Yanıtla
  • Gönderen
  • İçin
  • X Öncelikli

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

Bir e-posta iletisinin AlternateViews kopyalarını farklı biçimlerde belirtmek için özelliğini kullanın. Örneğin, BIR iletiyi HTML olarak gönderirseniz, bazı alıcıları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. Eki olan bir ileti oluşturmayı gösteren bir örnek için bkz Attachments. . MailMessage üzerinde Dispose çağrısı, başvuruda bulunan her Ekte Dispose öğesini de çağırır.

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

Oluşturucular

Name Description
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, String, String)

MailMessage sınıfının yeni bir örneğini 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.

Özellikler

Name Description
AlternateViews

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

Attachments

Bu e-posta iletisine eklenen 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 iletisi için ReplyTo adresini alır veya ayarlar.

ReplyToList

Posta iletisi için yanıt kullanılacak 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

Name Description
Dispose()

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

Dispose(Boolean)

tarafından MailMessage kullanılan yönetilmeyen kaynakları serbest bırakır ve isteğe bağlı olarak yönetilen kaynakları 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()

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

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

Geçerli Objectbasit bir kopyasını oluşturur.

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

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

(Devralındığı yer: Object)

Şunlara uygulanır