MailMessage.AlternateViews 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得附件集合,用於儲存訊息主體的替代格式。
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
屬性值
可寫入的 AlternateViewCollection。
範例
下列程式代碼範例示範如何使用純文本和 HTML 替代檢視建立和傳送電子郵件訊息。
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
備註
AlternateViews使用屬性可指定不同格式的電子郵件訊息複本。 例如,如果您以 HTML 傳送郵件,您可能也想要提供純文字版本,以防某些收件者使用無法顯示 HTML 內容的電子郵件讀取器。
若要將替代檢視新增至 MailMessage 物件,請建立 Attachment 檢視的 ,然後將它新增至 所 AlternateViews傳回的集合。 Body使用 屬性來指定文字版本,並使用AlternateViews集合來指定其他MIME類型的檢視。 MediaTypeNames使用類別成員來指定替代檢視的MIME類型。