MailMessage.AlternateViews Propriedade

Definição

Obtém a coleção de anexos usada para armazenar formas alternativas do corpo da mensagem.

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

Valor de Propriedade

Um AlternateViewCollection.

Exemplos

O exemplo de código seguinte demonstra a criação e envio de uma mensagem de email com texto simples e uma vista alternativa em HTML.

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

Observações

Use a AlternateViews propriedade para especificar cópias de uma mensagem de email em diferentes formatos. Por exemplo, se enviar uma mensagem em HTML, poderá também querer fornecer uma versão em texto simples caso alguns dos destinatários usem leitores de email que não consigam mostrar conteúdo HTML.

Para adicionar uma vista alternativa a um MailMessage objeto, crie um Attachment para a vista e depois adicione-o à coleção devolvida por AlternateViews. Use a Body propriedade para especificar a versão de texto e use a AlternateViews coleção para especificar vistas com outros tipos MIME. Use os MediaTypeNames membros da classe para especificar o tipo MIME para a vista alternativa.

Aplica-se a