Prasannala Ответов: 1

расширенный метод поиска для поиска отправленных outlook элементов в c#


Всем привет

Я ищу отправленные в outlook элементы с помощью расширенного метода поиска
пространство имен с использованием Outlook = Microsoft.Офис.Взаимодействие.Прогноз;

Прогноз._NameSpace olNs;
Прогноз.Mapifolder oSents;
Прогноз.Элементы oItems;
Прогноз._Application OutlookApp = новый Outlook.Приложение();
Прогноз.Результаты advancedSearchResults = null;
Прогноз.AdvancedSearch поиск = нуль;
olNs = olApp.GetNamespace("MAPI");
oSents = olNs.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderSentMail);
string scope = "'" + oSents.FolderPath + "'";

string ToAddress= "prasanna@zqa.com";
string advancedSearchTag = "Our first advanced search in Outlook";
string filter = "urn:schemas:httpmail:to LIKE \'%" + ToAddress+ "%\'";

advancedSearch = OutlookApp.AdvancedSearch(scope, filter, false, advancedSearchTag);

advancedSearchResults = advancedSearch.Results;

for (int count = advancedSearchResults.Count; count >= 1; count--)
{
    try
    {
        oMICopy = (Outlook._MailItem)advancedSearchResults[count];
        sAddress = oMICopy.Recipients[1].Address.ToString();
    }
    catch
    {
        continue;
    }
 }      



Но я не получаю никаких элементов из папки sentItems.
Он показывает advancedSearchResults.Количество=0
как получить SentMailItems outlook с адресом электронной почты.

BillWoodruff

Все ли отправленные сообщения были отправлены из OutLook/Exchange ?

Если вы перечислите содержимое переменной ' oSents ... предполагая, что он действительно содержит допустимую ссылку на папку SentItems типа Outlook.MAPIFolder ... что вы нашли ?

1 Ответов

Рейтинг:
1

Dalboy

Вы можете попробовать поставить двойные кавычки вокруг схемы. Кроме того, я не вижу кода для указания метода обратного вызова, который будет использоваться после завершения предварительного поиска?

Эта ссылка может помочь.

tps://msdn.microsoft.com/en-us/library/cc513841%28v=office.12%29.aspx?f=255&MSPPError=-2147217396