Попробуйте очистить поле ввода для фильтра. В IMAC это фильтрация содержимого, которое имеет строку color
Библиотека Outlook Interop не только для дополнений. Например, это могло использоваться для записи консольного приложения, которое просто читает все Контакты Outlook. Я вполне уверен, что стандартная библиотека Microsoft Outlook Interop позволит Вам считать почту - хотя она, вероятно, бросит подсказку безопасности в Outlook, который пользователь должен будет нажать через.
РЕДАКТИРОВАНИЯ : На самом деле реализовывая почтовое чтение с помощью Outlook Interop зависит от того, что означает определение 'автономных'. Lib Interop Outlook требует, чтобы Outlook был установлен на клиентской машине, для функционирования.
// Dumps all email in Outlook to console window.
// Prompts user with warning that an application is attempting to read Outlook data.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Outlook = Microsoft.Office.Interop.Outlook;
namespace OutlookEmail
{
class Program
{
static void Main(string[] args)
{
Outlook.Application app = new Outlook.Application();
Outlook.NameSpace outlookNs = app.GetNamespace("MAPI");
Outlook.MAPIFolder emailFolder = outlookNs.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox);
foreach (Outlook.MailItem item in emailFolder.Items)
{
Console.WriteLine(item.SenderEmailAddress + " " + item.Subject + "\n" + item.Body);
}
Console.ReadKey();
}
}
}
Да можно использовать Доступ MS и затем Вас или импортировать Ваше содержание PST или просто связать его (медленный!).
API MAPI - то, что Вы ищете. К сожалению, это не доступно в .NET, таким образом, я боюсь, что необходимо будет обратиться к вызову неуправляемого кода.
А быстрый Google показывает несколько доступных оберток, возможно, они работают на Вас?
Это могло бы также быть полезно: http://www.wischik.com/lu/programmer/mapi_utils.html
Этот коннектор.NET для Outlook мог бы запустить Вас.
Как уже упомянуто в одном из Ваших связанных ТАК вопросы, я также рекомендовал бы использовать библиотека Redemption . Я использую его в коммерческом применении для обработки писем Outlook и выполнения различных задач с ними. Это работает безупречно и предотвращает разоблачение раздражающих предупреждений системы безопасности. Это означало бы использовать COM Interop, но это не должно быть проблемой.
существует библиотека в том пакете под названием RDO, которые заменяют CDO 1.21, который позволяет Вам доступ файлы PST непосредственно. Затем это столь же легко как пишущий (код VB6):
set Session = CreateObject("Redemption.RDOSession")
'open or create a PST store
set Store = Session.LogonPstStore("c:\temp\test.pst")
set Inbox = Store.GetDefaultFolder(6) 'olFolderInbox
MsgBox Inbox.Items.Count
Я прошел и провел рефакторинг для вложенных папок
private static IEnumerable<MailItem> readPst(string pstFilePath, string pstName)
{
List<MailItem> mailItems = new List<MailItem>();
Microsoft.Office.Interop.Outlook.Application app = new Microsoft.Office.Interop.Outlook.Application();
NameSpace outlookNs = app.GetNamespace("MAPI");
// Add PST file (Outlook Data File) to Default Profile
outlookNs.AddStore(pstFilePath);
string storeInfo = null;
foreach (Store store in outlookNs.Stores)
{
storeInfo = store.DisplayName;
storeInfo = store.FilePath;
storeInfo = store.StoreID;
}
MAPIFolder rootFolder = outlookNs.Stores[pstName].GetRootFolder();
// Traverse through all folders in the PST file
Folders subFolders = rootFolder.Folders;
foreach (Folder folder in subFolders)
{
ExtractItems(mailItems, folder);
}
// Remove PST file from Default Profile
outlookNs.RemoveStore(rootFolder);
return mailItems;
}
private static void ExtractItems(List<MailItem> mailItems, Folder folder)
{
Items items = folder.Items;
int itemcount = items.Count;
foreach (object item in items)
{
if (item is MailItem)
{
MailItem mailItem = item as MailItem;
mailItems.Add(mailItem);
}
}
foreach (Folder subfolder in folder.Folders)
{
ExtractItems(mailItems, subfolder);
}
}
Мы собираемся использовать это, чтобы предоставить решение, которое не зависит от перспектив.
http://www.independentsoft.de/pst/index.html
Это очень дорого, но мы надеемся, что это сократит время разработки и повысит качество.
Для тех, кто упоминает, что они не видят коллекцию магазинов:
Коллекция магазинов была добавлена в Outlook 2007. Итак, если вы используете библиотека взаимодействия, созданная из более ранней версии (в попытке быть независимой от версии - это очень распространено), поэтому вы не увидите коллекцию Stores.
Единственный способ получить магазины - это выполнить одно из следующих действий: