Читайте почту Outlook из C # - PullRequest
       19

Читайте почту Outlook из C #

1 голос
/ 02 февраля 2012

Вышеупомянутая задача кажется настолько простой в соответствии с этим переполнением стека вопрос или этим MSDN How To .

Но я просто поражен в строке foreach (Outlook.MailItem mail in items), где я получаю исключение, говорящее " Невозможно привести COM-объект типа" System .__ ComObject "к типу интерфейса" Microsoft.Office.Interop. Outlook.MailItem '... ".

Хотя об этом исключении и написано несколько сообщений, ни одна не может помочь мне преодолеть это.

Может кто-нибудь, пожалуйста, помогите мне решить эту проблему и иметь возможность читать электронные письма из C #.

Спасибо

1 Ответ

3 голосов
/ 02 февраля 2012

Не каждый элемент в Outlook Explorer обязательно является MailItem.Например, общие папки содержат PostItem с.Если я правильно помню, сообщения о конфликтах и ​​приглашения на собрания также имеют собственный тип элемента.

Таким образом, я бы разработал цикл следующим образом:

foreach (object item in items) {
    var mail = item as MailItem;
    if (mail != null) {
        // do something useful
        ...
    } else {
        // log or show some message box, so that you can debug this case
        ...
    }
}
...