【问题标题】:WCF Service Send Email On Outlook | Exception from HRESULTWCF 服务在 Outlook 上发送电子邮件 | HRESULT 异常
【发布时间】:2020-04-01 15:09:34
【问题描述】:

我在 .NET 4.5 中创建了一个 WCF 项目,用于从 Outlook 2013 或 2016 发送电子邮件并将其托管在 windows server 2012 和 iis 8 上。

当在 windows 10 中从 Visual Studio 2019 运行服务时,一切都正常工作,但部署到:

  • Windows Server 2012 中的 IIS 8

...发生以下错误:

System.UnauthorizedAccessException:检索 COM 类工厂 对于具有 CLSID {0006F03A-0000-0000-C000-000000000046} 的组件失败 由于以下错误:80070005 访问被拒绝。 (例外来自 HRESULT:0x80070005(E_ACCESSDENIED))。在 服务方法

我也做了 DCOM Config,我从其他帖子中找到了解决方案,但我仍然遇到同样的问题。

我想在电子邮件中附加会议和提醒,为此我使用了 Outlook。(连接到 Exchange 的 Outlook) .如果有其他方法请说出来。

【问题讨论】:

标签: c# wcf iis outlook windows-server-2012-r2


【解决方案1】:

任何 Office 应用程序(包括 Outlook)都不能通过 Windows 服务使用。扩展 MAPI(C++ 或 Outlook)可以,但这意味着配置文件需要先手动配置,或者您需要先以编程方式构建它。对于 C#,您可以使用 Redemption 中的 RDO 对象系列(它包装了扩展 MAPI 系统)。

如果您只是发送消息,为什么不直接使用 SMTP?如果您通过 Exchange Server 发送,为什么不使用 EWS(其中有 .Net wrapper

【讨论】:

  • 感谢您的反馈。我想在电子邮件中发送提醒和会议时间,SMTP 不支持会议时间。我可以使用 EWS 发送会议时间或提醒吗?
  • 当然 SMTP 可以 - Outlook 可以通过 SMTP 发送约会邀请。您需要创建格式适当的文本/日历 MIME 消息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-09
  • 2010-09-25
  • 2016-12-18
  • 2012-03-21
相关资源
最近更新 更多