在c#中阅读Outlook电子邮件

时间:2017-04-10 19:11:40

标签: c# asp.net asp.net-mvc outlook exchange-server

我需要一些关于如何解决问题的建议。我有一个向用户发送电子邮件的应用程序。注意,我使用Microsoft Exchange作为email服务器。我希望有一个功能,用户可以回复应用程序发送的电子邮件,应用程序能够阅读回复并执行某些操作。

例如,应用程序将发送一封电子邮件,要求批准某个项目。我希望用户回复该电子邮件,并说明该项目是否已被批准或拒绝。这是一个非常简单的场景,但它捕获了我想要做的事情。如何阅读c#中发送到特定地址的电子邮件?

2 个答案:

答案 0 :(得分:1)

在代码中阅读,解析和回复电子邮件通常是很难的机器。如果您愿意接受建议,虽然其中一个可能的解决方案可能是电子邮件正文中的几个批准/拒绝链接,这些链接会链接回您的网站并在您的审批工作流程中触发相应的操作。希望它有所帮助!

答案 1 :(得分:0)

您可以使用EWS,请参阅EWS Managed API, EWS, and web services in Exchange。如果您正在处理Office 365,也可以考虑使用Outlook REST API

Microsoft目前不建议也不支持从任何无人参与的非交互式客户端应用程序或组件(包括ASP,ASP.NET,DCOM和NT服务)自动化Microsoft Office应用程序,因为Office可能会出现不稳定Office在此环境中运行时的行为和/或死锁。

如果要构建在服务器端上下文中运行的解决方案,则应尝试使用已为安全无人值守执行的组件。或者,您应该尝试找到允许至少部分代码在客户端运行的替代方法。如果从服务器端解决方案使用Office应用程序,则应用程序将缺少许多成功运行的必要功能。此外,您将承担整体解决方案稳定性的风险。请在Considerations for server-side Automation of Office文章中详细了解相关内容。

如果使用Outlook发送电子邮件,请考虑使用MailItem类的VotingOptions属性,该属性允许设置一个字符串,指定包含邮件消息投票选项的分隔字符串。此属性使用Windows注册表中HKEY_CURRENT_USER \ Control Panel \ International下的值名称sList中指定的字符作为多个投票选项的分隔符。因此,在响应中,您可以使用VotingResponse属性,该属性返回指定邮件消息的投票响应的字符串。此属性通常设置为VotingOptions属性在对原始邮件的回复时返回的分隔值之一。

相关问题