Zugriff auf Outlook ost-Datei

Habe ich gesehen, der Unterschied zwischen pst-und ost-Dateien und arbeitet zurzeit an den Zugriff auf die outlook-pst-Datei durch den folgenden code unten gegeben.
Gibt es eine Möglichkeit, den gleichen code für den Zugriff auf ost-Datei? Kann jemand verweisen mich auf diese?

private DataTable GetInboxItems()
{
    DataTable inboxTable;
    //try
    //{
    filter = "[ReceivedTime] >= '" + dtpStartDate.Value.ToString("dd/MM/yyyy 12:00 AM")   + "' and [ReceivedTime] <= '" + dtpEndDate.Value.ToString("dd/MM/yyyy  11:59 PM") + "'";
    Outlook.Application outlookApp = GetApplicationObject();
    Outlook.Folder root = outlookApp.Session.DefaultStore.GetRootFolder() as  Outlook.Folder;
    EnumerateFolders(root);
    //string filter = "[ReceivedTime] > '" + dtpStartDate.Value.ToString("dd/MM/yyyy")  + "'";

    //inbox
    Outlook.MAPIFolder inboxFolder =  outlookApp.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);
    inboxTable = CreateTable();
    int count = 0;


    if (inboxFolder.Items.Count > 0)
    {

        var restrictedItems = inboxFolder.Items.Restrict(filter);
        restrictedItems.Sort("[ReceivedTime]", true); //descending
        //foreach (var item in inboxFolder.Items)
        foreach (var item in restrictedItems)
        {
            var mail = item as Outlook.MailItem;
            if (mail != null)
            {
                //try
                //{
                DataRow row = inboxTable.NewRow();
                //row["sn"] = (++count).ToString();
                row["sn"] = mail.EntryID + " " + mail.ReceivedByEntryID;
                row["MailType"] = "Inbox";
                row["SenderName"] = mail.SenderName;
                row["SenderEmail"] = mail.SenderEmailAddress;
                row["ReceivedDate"] = mail.ReceivedTime;
                row["Subject"] = mail.Subject;
                row["Body"] = mail.Body != null ? (mail.Body.Length > 25 ?  mail.Body.Substring(0, 25) : mail.Body) : null;
                //row["Body"] = mail.Body != null ? mail.Body : "";
                row["MailSize"] = mail.Size.ToString();
                string attachments = null;
                if (mail.Attachments.Count > 0)
                {
                    foreach (var attachment in mail.Attachments)
                    {
                        if (((Outlook.Attachment)attachment) != null)
                            //attachments = ((Outlook.Attachment)attachment).FileName +  " " + ((Outlook.Attachment)attachment).Size.ToString() + ", ";
                            attachments += (((Outlook.Attachment)attachment).Size / 1024).ToString() + " KB, ";
                    }
                }


                row["AttachmentCount"] = mail.Attachments.Count;
                if (attachments != null)
                    row["AttachmentSize"] = attachments.Substring(0, attachments.Length - 2);

                inboxTable.Rows.Add(row);
            }
            //catch (Exception ex)
            //{

            //   return null;
            //}

        }
    }

    return inboxTable;
}
  • Dieser code funktioniert mit Store-Objekt, es ist nicht egal, wenn der Speicher PST -, OST-oder exchange online, ohne offline-Datei. Hattest du Probleme mit diesem code? Vielleicht ist es der Anmeldeinformationen erfordert...
  • Danke Arthur...Wie kann ich Zugriff auf OST-Datei? könnten Sie bitte zeigen, mit einem code-Beispiel, an welchem Punkt Anmeldeinformationen sind erforderlich? Und was nützt diese OST-Datei bietet über PST-Datei?
  • OST ist erstellt, wenn der Cache-Modus Exchange-Konto geben, Sie können es nicht kontrollieren. PST wird verwendet zum speichern von E-mail-Daten ohne server-Kontos oder über eine andere Art von Konten wie IMAP. Der code, den Sie in Ihrer Frage Lesen Sie OST-Datei, wenn der Standard-Informationsspeicher ist der Exchange-account. Hast du es ausprobiert? Hast du Probleme gehabt?
  • Ich habe nicht versucht, wie ich es bin verwirrt darüber, wie zu zeigen, um die OST-Datei des Exchange-Konto. Wie übergeben Sie die Anmeldeinformationen etc.?
  • Sie brauchen nicht zu zeigen, um die OST-Datei. der code greift auf eine laufende Instanz von Outlook-app. Es wird eine Eingabeaufforderung für Anmeldeinformationen. Versuchen Sie einfach, der komplette code wie ich geschrieben als eine Lösung unten.
InformationsquelleAutor newbie | 2013-05-04
Schreibe einen Kommentar