【问题标题】:Read Outlook emails in c#在 C# 中阅读 Outlook 电子邮件
【发布时间】:2017-09-05 23:19:54
【问题描述】:

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

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

【问题讨论】:

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


【解决方案1】:

您可以使用 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 属性在回复原始消息时返回的分隔值之一。

【讨论】:

    【解决方案2】:

    用代码阅读、解析和回复电子邮件通常是一件非常困难的事情。如果您愿意接受建议,但可能的解决方案之一可能是电子邮件正文中的几个批准/拒绝链接,这些链接链接回您的网站并在您的批准工作流程中触发相应的操作。希望对您有所帮助!

    【讨论】:

    • 根据我的研究,我发现这将是一项艰巨的任务。我有链接,但由于服务器位于专用网络上,因此当用户在网络之外或在 Internet 上时,它将无法工作。我不相信公司想把他们的应用程序放到互联网上。感谢您的回复。
    • 如果问题仅与内部边界的安全有关,则正确配置和经过身份验证的反向代理可能会为您完成这项工作。如果您真的被锁定在接收和解析这里是如何完成它的一个很好的例子 mailin.io
    • 这里是如何在 C# 中完成的示例的答案stackoverflow.com/a/11457840/920557
    猜你喜欢
    • 1970-01-01
    • 2022-01-23
    • 2021-05-15
    • 2018-07-08
    • 2021-12-26
    • 1970-01-01
    • 1970-01-01
    • 2011-12-21
    • 2011-08-18
    相关资源
    最近更新 更多