2008-10-22 169 views
2

我正在尝试使用VB.NET发送电子邮件。在.NET中发送电子邮件,并将电子邮件保存在用户的已发送邮件中

有两个要求:

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

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

这可能吗?

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

+0

请编辑的问题并添加更多的信息 - 从哪里要发送它(独立的应用程序,asp.net)。 – 2008-10-22 19:34:56

+0

我最终通过一个类使用Outlook Interop [CodeProject上的David M Brooks](http://www.codeproject.com/KB/IP/SendFileToNET.aspx) – 2008-10-23 15:49:23

回答

6

我认为你需要做的1以下,以得到你想要的确切功能:

  • 的Outlook互操作
  • 交流盛会沉

这样更容易替代,那么BCC用户(将进入他们的收件箱)并配置Outlook规则将其移至发送的项目?

+0

速度更快:) +1 – 2008-10-22 19:37:31

0

您必须使用Exchange服务器API或具有Outlook的本地副本并使用Outlook客户端API才能实现此目的。除了Exchange服务器知道如何处理SMTP邮件外,SMTP客户端和交换机之间确实没有任何关系。

您最好只发送两份电子邮件,一份发给发件人,另一份给发件人。它在发送的项目中显示出来并不那么明显,但是它的工作量会少得多,并且可以实现相同的目标。

+0

这就是我所期待的。谢谢 – 2008-10-22 19:36:19

1

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

我会考虑是否可以通过与Exchange交谈来做到这一点。有API可用于编写Outlook脚本和直接与Exchange交谈。

1

只需使用Exchange WebDav API即可。

这里是一个如何使用WebDAV发送电子邮件的Microsoft支持示例:Q296713

注:对不起上面的示例是VB 6,它应该是非常简单的将代码移植到VB.NET(另外你可以使用System.Xml类和/或StringBuilder来帮助构建WebDav XML请求)。

0

我想,我们为什么不能让规定在我们的数据库和发送电子邮件后,我们已将也应该保存在我们的数据库获取可用时,用户点击发送项目相同的细节按钮。

How to send email with attachment? Vb.Net