2010-11-15 16 views
6

bir posta yaratıyorumEnable'ı AlternateView'de nasıl ayarlayabilirim

using (var streamWriter = new StreamWriter(fooFileName, false, Encoding.UTF8)) 
{ 
    streamWriter.Write(fooMessage); 
} 

şimdi bu dosyayı

var mailMessage = new System.Net.Mail.MailMessage 
{ 
    From = fooSender, 
    To = 
    { 
     fooRecipient 
    }, 
    Subject = fooSubject, 
    SubjectEncoding = Encoding.UTF8, 
    BodyEncoding = Encoding.UTF8 
}; 
// fooMediaType can be 
// - System.Net.Mime.MediaTypeNames.Text.Html 
// - System.Net.Mime.MediaTypeNames.Text.Plain 
var alternateView = new System.Net.Mail.AlternateView(fooFileName, fooMediaType); 
mailMessage.AlternateViews.Add(alternateView); 

ile harcıyorum Şu anda herhangi bir problem yaşamadığım takdirde her şey yolunda giderse alternateView’ümdeki umlauts’ları kullanarak kırıldılar.

Peki, her şeyin çalıştığı alternateView üzerinde bir çeşit kodlamayı nasıl ayarlayabilirim?

cevap

13
var alternateView = new AlternateView(fooFileName, fooMediaType) 
{ 
     ContentType = 
     { 
      CharSet = Encoding.UTF8.WebName 
     } 
}; 
+1

Çok yardımcı! 'Encoding.UTF8.HeaderName' kullanmak daha iyi olabilir çünkü charset parametresi Content-Type üstbilgisine eklenecektir. Bu durumda 'Encoding.UTF8.WebName' ve' Encoding.UTF8.HeaderName' her ikisi de 'utf-8' değerini döndürür, bu yüzden gerçekten önemli değildir. –

İlgili konular