2016-03-25 33 views
8

Ben Dosya kaydedildi , Ekleri

foreach(MimeKit.MimeEntity at message.Attachments) 
{ 
    at.WriteTo("nameFile"); 
} 

mesajla

ekleri kaydetmek çalışıyorum ama açtığımda dosyası bozuk hata veya bu dosyanın boyutu 88 kb çok büyük olsun kurtarmak MailKit ancak dosyanın boyutu 55 kb'ye eşit olmalıdır.

Tüm kayıtlı mesaj dosyalarında olduğunu düşünüyorum.

Yalnızca eki nasıl kaydederim?

MailKit v1.2.0.0 MimeKit 1.2.0.0

cevap

21

Sen (başlıklar dahil) tüm MIME nesne kaydediyorsunuz. Yapmanız gereken, içeriği kaydetmek.

foreach (var attachment in message.Attachments) { 
    using (var stream = File.Create ("fileName")) { 
     if (attachment is MessagePart) { 
      var part = (MessagePart) attachment; 

      part.Message.WriteTo (stream); 
     } else { 
      var part = (MimePart) attachment; 

      part.ContentObject.DecodeTo (stream); 
     } 
    } 
} 

Yardımcı olur umarım.

+0

var part = (MimeKit.MessagePart) eki; Burada bir istisna alıyorum "Nesne türü MimeKit.MimePart türü MimeKit.MessagePart – sergpc

+0

bölüm.ContentObject.DecodeTo (akış); getirilemedi ve burada hata alıyorum:" MimeKit.MessageParts "" Content_Object için bir tanım içermiyor " "MimeKit.MessagePart" türünde bir ilk argüman almak için "ContentObject" bir genişletme yöntemi bulamıyor, (yönerge veya montaj referansı kullanılarak eksik?) sürümlerinde sorun olabilir? – sergpc

+0

sürümünüz nedir? MimeKit ve MailKit ? – sergpc

İlgili konular