c# - 如何连接到特定的 Outlook/Exchange 帐户?

标签 c# outlook exchange-server mapi

我正在制作一个应用程序来访问托管在 Exchange 2003 服务器上的特定电子邮件帐户,并对找到的未读电子邮件执行一些操作。我不太了解 MAPI 的工作原理,所以如果我错过了一些非常明显的东西,我也不会太惊讶!我(不幸的是)正在使用 C#,我已经阅读了这可能导致的问题(并且我害怕后果,但我的老板希望这样做......) .

我正在努力寻找有关如何连接到特定帐户的有用信息! 该应用程序将从某人的笔记本电脑(假设是我的)运行,因此将有一个默认帐户,Outlook 在打开时会连接到该帐户。所以:

  • 是否可以从用户已经拥有自己的帐户并且可能已打开 Outlook 的计算机连接到另一个帐户?

  • 如果可能的话。我该怎么做呢?启动 Outlook 互操作对象时,应用程序会自动获取用户帐户并将当前用户设置为该帐户。 我曾希望 Logon() 方法对此进行排序,但没有。哪怕只是运行 Outlook.Application olApp = new Outlook.Application(); 转到并将当前用户设置为标准帐户。

我希望我说得有道理(可能没有),但请随时在评论中提出更详细的问题,我会尽快回复。就像我说的,我对 MAPI 和 Exchange 知之甚少,所以我在为如何表达我的问题而苦苦挣扎。

最佳答案

如果您想连接到 Exchange 2003 中的特定电子邮件帐户,您需要使用 WebDAV , CDOEX , 或 ExOLEDB .如果您使用的是 Exchange 2007+,则可以使用 EWS .

Outlook Interop 只会让您以交互式桌面帐户(当前登录用户)的身份进行连接。连接到其他帐户的唯一方法是当前交互式帐户是否有 added the shared mailbox .

关于c# - 如何连接到特定的 Outlook/Exchange 帐户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11561565/

相关文章:

c# - 是否可以对 Mailkit 和 Exchange 使用默认网络凭据?

powershell - 使用 -ErrorAction STOP 时,Remove-CalendarEvents 失败

powershell - 解析 msg(电子邮件)文件的正文

HTML 电子邮件样式在 Outlook 中不起作用

c# MVC 和 Webform 传递变量

c# - 如何检查 Asp.NET 应用程序是否支持 FIPS

vba - 将颜色类别放入 Outlook 邮件

powershell - Powershell:如何获取通讯组的完整列表

c# - 使用Request.QueryString,斜杠(/)在第一个querystring中存在时添加到最后一个querystring

c# - 如何更新数据表的单元格值?