【问题标题】:Sending mail from .NET project via outlook and receive notification when sent [closed]通过Outlook从.NET项目发送邮件并在发送时收到通知[关闭]
【发布时间】:2017-06-08 02:44:34
【问题描述】:

假设:

  1. 使用 .NET 2013 (C#/VB)。
  2. 邮件客户端是 Outlook (2010+)。
  3. 邮件服务器是 Exchange。

问题:

  1. .NET 项目有没有办法使用某种 Outlook 对象直接发送电子邮件?
  2. 可以在不显示新窗口且必须按“发送”的情况下发送吗?
  3. 如果“发送”过程成功完成,邮件是否会保存到“已发送邮件”文件夹?
  4. 如果邮件成功发送或在“发送”期间立即产生错误(即 SMTP 服务器关闭),进程是否会收到事件/通知。
  5. 是否有内置过程(在将使用的库中)来检测邮件是实际发送还是由于某种原因被退回?

【问题讨论】:

  • 那么您的具体问题是什么?目前,这太宽泛了。
  • 我没试过,但你能不能只使用 System.Net 中内置的 SMTP 客户端?我不确定它是否会将其添加到已发送邮件中,但我会先尝试一下,然后再尝试自动化 Outlook(这很痛苦)。
  • 我认为我特定的。我想通过 Outlook 发送一封电子邮件,以便将其保存到“已发送”文件夹。使用 .NET 电子邮件客户端只会发送邮件,不会将其保存到 Outlook 的已发送文件夹。此外,在发送时,我希望能够知道发送过程是否成功(这意味着一种与 Outlook 通信并以某种方式接收 SendMail 过程的结果的方式。

标签: .net email outlook send


【解决方案1】:

如果您希望邮件位于“已发送邮件”文件夹中,直接 SMTP 将不起作用。但您可以使用 Outlook 对象模型或 EWS。

【讨论】:

  • 感谢您的指点。我重新措辞了原来的问题,所以我猜你的回答回答了 Q1 和 Q3。
  • 这是我已经回答的问题 - 您需要使用 Outlook 对象模型(或扩展 MAPI 或兑换)或 EWS 才能在邮箱的已发送邮件文件夹中发送邮件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-05-11
  • 2016-01-04
  • 2014-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多