在.NET中发送电子邮件,电子邮件保存在用户的已发送邮件中

时间:2008-10-22 19:30:54

标签: .net vb.net email outlook

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

有两个要求:

  1. 电子邮件将保存在Outlook(他们唯一的电子邮件客户端)的“已发送邮件”文件夹中。
  2. 电子邮件附有PDF(动态生成)。
  3. 我目前正在创建一个新的MailMessage&通过SmtpClient发送,但我相信这是从服务器发送的,而不是从客户端发送的。

    这可能吗?

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

5 个答案:

答案 0 :(得分:7)

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

  • Outlook Interop
  • Exchange事件接收器

作为一个更容易的替代方案,如何BCC用户(将访问其收件箱)并配置Outlook规则以将其移至已发送的项目?

答案 1 :(得分:1)

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

我会通过与Exchange交谈来研究是否可以这样做。脚本Outlook和直接与Exchange交谈都有API。

答案 2 :(得分:1)

只需使用Exchange WebDav API。

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

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

答案 3 :(得分:0)

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

您最好只发送两份电子邮件,一份发送给发件人,一份发送给服务员。将它显示在已发送的项目中并不是一件容易的事情,但实现相同目标的工作要少得多。

答案 4 :(得分:0)

我认为,为什么我们不能在我们的数据库中进行配置,并且在发送电子邮件后我们发送的相同详细信息也应保存在我们的数据库中用户点击已发送项目按钮即可使用。

How to send email with attachment? Vb.Net