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.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie sich selbst zu erziehen, was OST/PST ist als der Zugang zu Ihnen ist nicht viel anders, beide sind Speichern Objekte, so dass Sie die gleiche Schnittstelle haben.
Versuchen Sie diese Quellen für einen start und selbst Experimentieren, wie es ist der beste Weg, um zu verstehen, wie Sachen arbeiten.
http://en.wikipedia.org/wiki/Personal_Storage_Table
http://msdn.microsoft.com/en-us/library/bb609139(v=office.14).aspx
http://msdn.microsoft.com/en-us/library/ff184648(v=office.14).aspx
http://msdn.microsoft.com/en-us/library/bb208208(v=office.12).aspx
http://www.c-sharpcorner.com/UploadFile/rambab/OutlookIntegration10282006032802AM/OutlookIntegration.aspx
OST
- Dateien mit C# zu konvertieren in PST oder liest E-Mails von OST ?Nachdem ich herausgefunden, wie man Sie eigentlich bauen Sie den code von der OP, ich fand es sehr nützlich, um loszulegen auf Outlook, so würde ich mag zu teilen der fertige code unten.
Füllen Sie die fehlenden Teile, ich lieh mir von https://support.microsoft.com/en-us/kb/310259, für EnumerateFolders: https://msdn.microsoft.com/en-us/library/office/ff184607.aspx