3

我正在尝试使用 VB.NET 发送电子邮件。

有两个要求:

  1. 电子邮件将保存在 Outlook(他们唯一的电子邮件客户端)中的“已发送邮件”文件夹中。
  2. PDF(即时生成)附加到电子邮件中。

我目前正在创建一个新的MailMessage并通过SmtpClient发送,但我相信这是从服务器发送的,而不是从客户端发送的。

这可能吗?

编辑:这是一个 winforms 应用程序,目的是向客户发送报告。

4

5 回答 5

7

我认为您需要执行以下操作之一才能获得所需的确切功能:

  • Outlook 互操作
  • 交换事件接收器

作为一个更简单的选择,如何密件抄送用户(将进入他们的收件箱)并配置 Outlook 规则以将其移动到已发送的项目?

于 2008-10-22T19:35:59.803 回答
1

你是对的,它不会最终出现在用户发送的项目中。您将遇到的问题之一是 Outlook 必须执行此操作的 API 已被病毒利用,因此用户每次都需要确定发送。

我会研究您是否可以通过与 Exchange 交谈来做到这一点。编写 Outlook 脚本和直接与 Exchange 对话都有 API。

于 2008-10-22T19:36:55.467 回答
1

只需使用 Exchange WebDav API。

以下是有关如何使用 WebDav 发送电子邮件的 Microsoft 支持示例:Q296713

注意:抱歉,上面的示例适用于 VB 6,将代码移植到 VB.NET 应该非常简单(另外,您可以使用 System.Xml 类和/或 StringBuilder 来帮助构建 WebDav xml 请求)。

于 2008-10-22T19:40:59.030 回答
0

您必须使用 Exchange 服务器 API 或拥有 Outlook 的本地副本并使用 Outlook 客户端 API 才能实现此目的。SMTP 客户端和交换器实际上几乎没有什么关系,除了 Exchange 服务器知道如何处理 SMTP 消息这一事实。

您最好只发送两份电子邮件,一份给发件人,一份给收件人。让它出现在发送的项目中并不是那么简单,但它会减少工作量并实现相同的目标。

于 2008-10-22T19:34:48.760 回答
0

我想,为什么我们不能在我们的数据库中做出规定,并且在发送电子邮件后,我们发送的相同详细信息也应该保存在我们的数据库中,并在用户单击已发送项目按钮时可用。

如何发送带附件的电子邮件?网络

于 2013-03-17T14:09:54.317 回答