【发布时间】:2017-06-08 02:44:34
【问题描述】:
假设:
- 使用 .NET 2013 (C#/VB)。
- 邮件客户端是 Outlook (2010+)。
- 邮件服务器是 Exchange。
问题:
- .NET 项目有没有办法使用某种 Outlook 对象直接发送电子邮件?
- 可以在不显示新窗口且必须按“发送”的情况下发送吗?
- 如果“发送”过程成功完成,邮件是否会保存到“已发送邮件”文件夹?
- 如果邮件成功发送或在“发送”期间立即产生错误(即 SMTP 服务器关闭),进程是否会收到事件/通知。
- 是否有内置过程(在将使用的库中)来检测邮件是实际发送还是由于某种原因被退回?
【问题讨论】:
-
那么您的具体问题是什么?目前,这太宽泛了。
-
我没试过,但你能不能只使用 System.Net 中内置的 SMTP 客户端?我不确定它是否会将其添加到已发送邮件中,但我会先尝试一下,然后再尝试自动化 Outlook(这很痛苦)。
-
我认为我是特定的。我想通过 Outlook 发送一封电子邮件,以便将其保存到“已发送”文件夹。使用 .NET 电子邮件客户端只会发送邮件,不会将其保存到 Outlook 的已发送文件夹。此外,在发送时,我希望能够知道发送过程是否成功(这意味着一种与 Outlook 通信并以某种方式接收 SendMail 过程的结果的方式。