Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 访问远程服务器中的邮件_C#_Email_Outlook_Mapi - Fatal编程技术网

C# 访问远程服务器中的邮件

C# 访问远程服务器中的邮件,c#,email,outlook,mapi,C#,Email,Outlook,Mapi,有谁能告诉我如何阅读另一个用户的收件箱和他的个人资料名称和密码 我使用下面的代码来阅读我的收件箱。它工作得很好 Microsoft.Office.Interop.Outlook.Application app = null; Microsoft.Office.Interop.Outlook._NameSpace ns = null; Microsoft.Office.Interop.Outlook.PostItem item = null; Microsoft.Office.Interop.Ou

有谁能告诉我如何阅读另一个用户的收件箱和他的个人资料名称和密码

我使用下面的代码来阅读我的收件箱。它工作得很好

Microsoft.Office.Interop.Outlook.Application app = null;
Microsoft.Office.Interop.Outlook._NameSpace ns = null;
Microsoft.Office.Interop.Outlook.PostItem item = null;
Microsoft.Office.Interop.Outlook.MAPIFolder inboxFolder = null;
Microsoft.Office.Interop.Outlook.MAPIFolder subFolder = null;

try 
   {
   app = new Microsoft.Office.Interop.Outlook.Application();
   ns = app.GetNamespace("MAPI");
   ns.Logon(null,null,false, false);

   inboxFolder = ns.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox);
   subFolder = inboxFolder.Folders["MySubFolderName"]; //folder.Folders[1]; also works

   for(int i=1;i<=subFolder.Items.Count;i++)
   {
      item = (Microsoft.Office.Interop.Outlook.MailItem)subFolder.Items[i];
      Console.WriteLine("Body: {0}", item.Body);
   }
}

Namespace.Logon采用现有Outlook配置文件的名称,而不是电子邮件地址。Password参数不起任何作用


要打开其他用户的文件夹,请使用Namespace.GetSharedDefaultFolder。请注意,当前用户必须具有访问该文件夹的明确权限。

我尝试为另一个用户提供登录功能的配置文件(不是电子邮件地址)和密码。但它在登录函数本身中向我抛出了一个错误“找不到服务器”。我需要在任何地方提供服务器名称吗?A我前面提到过,登录时使用本地计算机上现有配置文件的名称,如“控制面板|邮件|显示配置文件”中所示。您可以指导我如何从服务器读取邮件吗。我有一个名为“\\webmail.domain.com\owa”的服务器。那么如何读取来自该服务器的邮件。在链接中询问了相同的问题您的意思是访问某个用户的Exchange邮箱吗?您可以使用Redemption及其RDOSession.LogonExchangeMailbox(Exchange 2000-2010)或RDOSession.LogonHostedExchangeMailbox(Exchange 2010-2013)。我不确定客户端是否会使用Exchange。无论他们使用何种应用程序访问邮件,都可以访问邮箱。
ns.Logon("anotheruser@domain.com", "password", false, true);