Freigeben über


MailMessage.AlternateViews Eigenschaft

Definition

Ruft die Anlagenauflistung ab, die zum Speichern alternativer Formate des Nachrichtentexts verwendet wird.

public:
 property System::Net::Mail::AlternateViewCollection ^ AlternateViews { System::Net::Mail::AlternateViewCollection ^ get(); };
public System.Net.Mail.AlternateViewCollection AlternateViews { get; }
member this.AlternateViews : System.Net.Mail.AlternateViewCollection
Public ReadOnly Property AlternateViews As AlternateViewCollection

Eigenschaftswert

Eine AlternateViewCollection, in die geschrieben werden kann.

Beispiele

Das folgende Codebeispiel veranschaulicht das Erstellen und Senden einer E-Mail-Nachricht mit nur Text und einer alternativen HTML-Ansicht.

static void CreateMessageWithMultipleViews( String^ server, String^ recipients )
{
   
   // Create a message and set up the recipients.
   MailMessage^ message = gcnew MailMessage( L"jane@contoso.com",recipients,L"This email message has multiple views.",L"This is some plain text." );
   
   // Construct the alternate body as HTML.
   String^ body = L"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">";
   body = String::Concat( body, L"<HTML><HEAD><META http-equiv=Content-Type content=\"text/html; charset=iso-8859-1\">" );
   body = String::Concat( body, L"</HEAD><BODY><DIV><FONT face=Arial color=#ff0000 size=2>this is some HTML text" );
   body = String::Concat( body, L"</FONT></DIV></BODY></HTML>" );
   
   // Add the alternate body to the message.
   AlternateView^ alternate = AlternateView::CreateAlternateViewFromString(body);
   message->AlternateViews->Add(alternate);

   // Send the message.
   SmtpClient^ client = gcnew SmtpClient( server );
   client->Credentials = CredentialCache::DefaultNetworkCredentials;
   client->Send( message );
   
   // Display the values in the ContentType for the attachment.
   ContentType^ c = alternate->ContentType;
   Console::WriteLine( L"Content type" );
   Console::WriteLine( c );
   Console::WriteLine( L"Boundary {0}", c->Boundary );
   Console::WriteLine( L"CharSet {0}", c->CharSet );
   Console::WriteLine( L"MediaType {0}", c->MediaType );
   Console::WriteLine( L"Name {0}", c->Name );
   Console::WriteLine( L"Parameters: {0}", c->Parameters->Count );
   IEnumerator^ myEnum = c->Parameters->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      DictionaryEntry^ d = safe_cast<DictionaryEntry^>(myEnum->Current);
      Console::WriteLine( L"{0} = {1}", d->Key, d->Value );
   }

   Console::WriteLine();
   alternate->~AlternateView();
}
public static void CreateMessageWithMultipleViews(string server, string recipients)
{
    // Create a message and set up the recipients.
    MailMessage message = new MailMessage(
        "jane@contoso.com",
        recipients,
        "This email message has multiple views.",
        "This is some plain text.");

    // Construct the alternate body as HTML.
    string body = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">";
    body += "<HTML><HEAD><META http-equiv=Content-Type content=\"text/html; charset=iso-8859-1\">";
    body += "</HEAD><BODY><DIV><FONT face=Arial color=#ff0000 size=2>this is some HTML text";
    body += "</FONT></DIV></BODY></HTML>";

    ContentType mimeType = new System.Net.Mime.ContentType("text/html");
    // Add the alternate body to the message.

    AlternateView alternate = AlternateView.CreateAlternateViewFromString(body, mimeType);
    message.AlternateViews.Add(alternate);

    // Send the message.
    SmtpClient client = new SmtpClient(server);
    client.Credentials = CredentialCache.DefaultNetworkCredentials;

    try
    {
        client.Send(message);
    }
    catch (Exception ex)
    {
        Console.WriteLine("Exception caught in CreateMessageWithMultipleViews(): {0}",
            ex.ToString());
    }
    // Display the values in the ContentType for the attachment.
    ContentType c = alternate.ContentType;
    Console.WriteLine("Content type");
    Console.WriteLine(c.ToString());
    Console.WriteLine("Boundary {0}", c.Boundary);
    Console.WriteLine("CharSet {0}", c.CharSet);
    Console.WriteLine("MediaType {0}", c.MediaType);
    Console.WriteLine("Name {0}", c.Name);
    Console.WriteLine("Parameters: {0}", c.Parameters.Count);
    foreach (DictionaryEntry d in c.Parameters)
    {
        Console.WriteLine("{0} = {1}", d.Key, d.Value);
    }
    Console.WriteLine();
    alternate.Dispose();
}
Public Shared Sub CreateMessageWithMultipleViews(ByVal server As String, ByVal recipients As String)
    ' Create a message and set up the recipients.
    Dim message As MailMessage = New MailMessage(
        "jane@contoso.com",
        recipients,
        "This email message has multiple views.",
        "This is some plain text.")

    ' Construct the alternate body as HTML.
    Dim body As String = "<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.0 Transitional//EN"">"
    body += "<HTML><HEAD><META http-equiv=Content-Type content=""text/html; charset=iso-8859-1"">"
    body += "</HEAD><BODY><DIV><FONT face=Arial color=#ff0000 size=2>this is some HTML text"
    body += "</FONT></DIV></BODY></HTML>"

    Dim mimeType As ContentType = New System.Net.Mime.ContentType("text/html")

    ' Add the alternate body to the message.
    Dim alternate As AlternateView = AlternateView.CreateAlternateViewFromString(body, mimeType)
    message.AlternateViews.Add(alternate)

    ' Send the message.
    Dim client As SmtpClient = New SmtpClient(server)
    client.Credentials = CredentialCache.DefaultNetworkCredentials

    Try
        client.Send(message)
    Catch ex As Exception
        Console.WriteLine("Exception caught in CreateMessageWithMultipleViews(): {0}", ex.ToString())
    End Try

    ' Display the values in the ContentType for the attachment.
    Dim c As ContentType = alternate.ContentType
    Console.WriteLine("Content type")
    Console.WriteLine(c.ToString())
    Console.WriteLine("Boundary {0}", c.Boundary)
    Console.WriteLine("CharSet {0}", c.CharSet)
    Console.WriteLine("MediaType {0}", c.MediaType)
    Console.WriteLine("Name {0}", c.Name)
    Console.WriteLine("Parameters: {0}", c.Parameters.Count)

    For Each d As DictionaryEntry In c.Parameters
        Console.WriteLine("{0} = {1}", d.Key, d.Value)
    Next

    Console.WriteLine()
    alternate.Dispose()
End Sub

Hinweise

Verwenden Sie die AlternateViews -Eigenschaft, um Kopien einer E-Mail-Nachricht in verschiedenen Formaten anzugeben. Wenn Sie beispielsweise eine Nachricht in HTML senden, können Sie auch eine Nur-Text-Version bereitstellen, falls einige der Empfänger E-Mail-Reader verwenden, die keine HTML-Inhalte anzeigen können.

Um einem Objekt eine MailMessage alternative Ansicht hinzuzufügen, erstellen Sie eine Attachment für die Ansicht, und fügen Sie sie dann der von AlternateViewszurückgegebenen Auflistung hinzu. Verwenden Sie die Body -Eigenschaft, um die Textversion anzugeben, und verwenden Sie die AlternateViews Auflistung, um Ansichten mit anderen MIME-Typen anzugeben. Verwenden Sie die MediaTypeNames Klassenmember, um den MIME-Typ für die alternative Ansicht anzugeben.

Gilt für: