2016-04-05 7 views
0

Ich versuche an einem bestimmten Tag eine E-Mail zu finden und die Anhänge zu speichern. Mein Code ist unten.Inbox durchforsten und Anhänge speichern

Das Problem, das ich habe, ist die beim Debuggen keine der Elemente in meinem Posteingang sind vom Typ MailItem trotz mir in meinem Posteingang zu sehen. Was vermisse ich?

aktualisieren

Im Debug, wenn ich bei oFld.Items.Count sehen es 4890 zeigt, welche die Anzahl der E-Mails in meinem Posteingang ist. Ich denke, ich bin mit dieser nicht item.GetType Teil richtig

public void SaveAttachment(DateTime dateEmail, string emailSubject, string saveLocation) 
     { 
      Outlook.Application oApp = new Outlook.Application(); 
      Outlook.NameSpace oNs = oApp.GetNamespace("MAPI"); 
      Outlook.MAPIFolder oFld = oNs.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox); 

      foreach (object item in oFld.Items) 
      { 
       if (item.GetType() == typeof(Outlook.MailItem)) 
       { 
        Outlook.MailItem oMail = (Outlook.MailItem)item; 

        if (oMail.ReceivedTime < dateEmail) 
         return; 

        if (oMail.ReceivedTime.Date == dateEmail) 
        { 
         if (oMail.Subject.Contains(emailSubject)) 
         { 
          for (int i = 0; i < oMail.Attachments.Count; i++)         
           oMail.Attachments[i].SaveAsFile(saveLocation + oMail.Attachments[i].FileName);         
         } 
        } 
       } 
      } 
     } 
+1

Welcher Typ * sind * sie? –

+0

System .__ ComObject, wenn ich die item.GetType() eingeben. ToString() im unmittelbaren Fenster – mHelpMe

Antwort

1

Versuchen:

foreach (object item in oFld.Items) 
    { 
     MailItem mailItem = item as MailItem; 

     if (mailItem != null) 
     { 
      //blablabla 
     } 
    } 

es für einige Menschen zu arbeiten scheint.

+0

Danke, das funktioniert. Was würde passieren, wenn das Element ein Termin-Item und kein Mail-Item wäre, würde es eine Ausnahme auslösen? – mHelpMe

+1

Nein, Casting mit "as" gibt null zurück, wenn die Variable nicht vom gegossenen Typ ist. – Zalomon