Чтение почты с разных почтовых платформ в приложении c # windows form - PullRequest
0 голосов
/ 14 ноября 2018

Я пытаюсь читать почту с разных почтовых платформ на c #.Многие люди говорят:

Microsoft.Office.Interop.Outlook.NameSpace nameSpace = 
application.GetNamespace("MAPI");
nameSpace.Logon("", "", Missing.Value, Missing.Value);

inboxFolder = 
NameSpace.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFo
lders.olFolderInbox);
Console.WriteLine("Folders: {0}", inboxFolder.Folders.Count);

Хотя это не сработало для меня.Это говорит мне, что Microsoft.Interop.Outlook не существует.Я хочу узнать, как это сделать

Спасибо

Ответы [ 2 ]

0 голосов
/ 15 ноября 2018

Похоже, вы не добавили ссылку на пространство имен Microsoft.Office.Interop.Вам нужно скачать Microsoft.Office.Interop.Outlook.dll перед доступом к Outlook.Вот пример кода для доступа к папке входящих сообщений:

using System;
using System.Collections.Generic;
using Outlook = Microsoft.Office.Interop.Outlook;
   public static class OutlookMailF
    {
        public static Outlook.ApplicationClass application = new Outlook.ApplicationClass();
        static Outlook.NameSpace nameSpace = application.GetNamespace("MAPI");
        static Outlook.MAPIFolder inbox = nameSpace.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);
        static Outlook.MAPIFolder sent = nameSpace.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderSentMail);

    public static List<Outlook.MailItem> GetInbox()
    {
        List<Outlook.MailItem> allMails = new List<Outlook.MailItem>();
        //inbox u tüm maillere ekle.
        foreach (object item in inbox.Items)
        {
            if (item is Outlook.MailItem)
            {
                allMails.Add(item as Outlook.MailItem);
            }
        }
    }
}
0 голосов
/ 14 ноября 2018

MAPI / Office.Interop.Outlook действительно было бы полезно только в том случае, если вы работали исключительно с учетными записями Exchange / Office. В этом случае вам нужно добавить это пространство имен в качестве ссылки. Если у вас этого нет на вашем компьютере, вы можете загрузить и установить пакет Office.Interop.

Для других почтовых провайдеров, по большей части; извлечение электронной почты выполняется с использованием протоколов POP3 или IMAP. Есть несколько доступных пакетов и / или проектов, которые вы можете добавить в свой проект => искать C # IMAP или C # POP3

Для отправки электронной почты вы должны использовать протокол SMTP, который доступен в Net Framework.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...