【问题标题】:How do I enable users to send email from ASP.NET MVC?如何使用户能够从 ASP.NET MVC 发送电子邮件?
【发布时间】:2011-03-06 08:29:07
【问题描述】:

我正在用 ASP.NET MVC 开发一个 Web 应用程序,我希望用户能够单击一个新链接并让它通过他们的默认电子邮件客户端发送一封电子邮件,其中已经填写了信息,我该怎么做这个?

如果我希望在帮助系统中提交新工单时发送电子邮件,我该怎么做?

【问题讨论】:

  • 这里没有足够的信息来了解您要做什么。您是说希望您的 Web 应用程序在客户端上打开 Outlook?如何?为什么?什么时候?你的意思是当有人点击一个链接时你想打开一个“新消息”? (“邮递员”)。您必须提供更多信息。
  • 是的,当客户端单击链接时,我希望我的 Web 应用程序在客户端上打开 Outlook。它应该在发件人信息中打开带有客户端电子邮件 ID 的新消息
  • 说真的,伙计们?关闭不是一个真正的问题?仅仅因为不清楚......或者你不喜欢这个问题......或者答案是平凡而简单的,并不会使它成为一个无效的问题。这在被问到问题后的 8 分钟内就结束了……至少给他时间澄清或有人试图帮助他。这就是为什么 SO 以刻薄的行为而闻名的原因。
  • 非常不清楚。正如最初写的那样,我也会投票关闭它。我编辑了它,它应该重新打开。
  • msdn.microsoft.com/en-us/library/aa767737(VS.85).aspx 联系我们 您可以打开一个带有主题、正文的新邮件和接受者提出。但是你不能(为了货物)直接发送邮件。问题出在哪里?一个简单的问题,一个简单的答案。没有理由关闭或拒绝恕我直言。

标签: c# .net asp.net-mvc email


【解决方案1】:

来自MSDN

<a href="mailto:user@example.com?
subject=MessageTitle&amp;
body=Message Content">
Contact Us</a>

如果您想将此电子邮件发送给应用程序的所有用户,您可能需要将该部分自动化到自动发送电子邮件的服务中。 You can send email through .NET without any interaction from the user.

如果没有详细信息,我认为您可以这样做:

  1. 用户将工单添加到数据库中。
  2. Asynchronous Service polls database for changes to that table
  3. 遇到新票证时,使用来自this Stack Overflow question 的信息向用户列表发送电子邮件。
  4. 用户列表将来自数据库,或任何您用于验证和授权用户的机制。如果是 Active Directory,它将来自该组的成员。

更新

如果用户想与其他人共享该电子邮件,那么为什么不让他们在 Outlook 中选择要与谁共享呢?

此时,您可以省略电子邮件地址,他们可以在电子邮件编辑器中弹出时选择它:

<a href="mailto:?subject=MessageTitle&amp;body=Message Content">Contact Us</a>

当您单击链接时会产生以下内容:

【讨论】:

  • 感谢您的回复乔治,但我有不同的情况。让我再次澄清我的问题。我有大约 100 个用户访问的网络应用程序。他们希望在创建新工单时共享信息。因此,每个工单详细信息页面上都会有一个链接来发送该工单信息。因此,当用户单击该链接时,它应该打开带有新消息的用户前景。我猜上面的代码是特定于特定用户的。希望我这次沟通得很好。
  • 但应该通过用户交互来完成。创建票证时,我不想向所有人发送自动电子邮件。如果创建票证的用户想要与其他用户共享它,比如说 2 个其他用户,那么用户点击 shareTicket 链接 ...这应该会打开带有新消息的 Outlook。
  • 无论如何我可以使用我在 ticketDetails view() 中的现有 html 发送消息正文。就像我们通过 SmtpClient 发送时构造消息体的方式
  • @Hari 不。最好的办法是通过服务器端进程发送给用户,然后让他们转发给他们的同事。
猜你喜欢
  • 2012-03-26
  • 1970-01-01
  • 2015-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-11
相关资源
最近更新 更多