使用Process.Start在默认电子邮件客户端中创建电子邮件

时间:2015-01-14 01:54:45

标签: .net vb.net winforms email mapi

我有一个小型办公室应用程序(VB.Net),它根据许多业务规则管理个人数据库。用户必须能够从该数据库中选择个人才能接收电子邮件。用户希望在其默认电子邮件客户端中看到所选电子邮件的列表为TO,CC和/或BCC项目。然后,用户将提供主题和电子邮件正文,然后发送。无需处理附件或以编程方式自动发送电子邮件。应用程序只需打开填充了地址的默认电子邮件应用程序。

此功能目前作为MS Access应用程序实现,该应用程序使用DoCmd.SendObject方法,可以毫无困难地将数百封电子邮件列表传递给默认电子邮件客户端。

我使用了使用StringBuilder构造的mailto URI来指定TO,CC和BCC,然后使用System.Diagnostics.Process.Start打开默认的电子邮件客户端。这种方法很有效,直到mailto URI中的电子邮件数量增加。可以通过Process.Start方法传递的字符数量似乎有限制。

我试图确定其他选项,但我只看到过:

  • System.Web.Mail:不可取,因为用户不会也无法提供SMTP配置

  • MAPI:这似乎不赞成。

显然,有一些方法可以同时传递多个地址,因为MS Access可以完成它。如何实现这一目标?

1 个答案:

答案 0 :(得分:-1)

尝试使用System.Web.Mail,但不要让用户输入值,而是放入一些预设。

使用此方法的更理想方法是使服务器定期更新预设。然后,您的应用程序可以获取此列表并选择适当的列表。

相关问题