如何从客户端浏览器中运行的Angular Web应用程序发送邮件?

时间:2016-12-20 17:51:57

标签: c# asp.net angularjs asp.net-web-api outlook

我目前正在开发一个在前端使用AngularJS的内部项目,并在后端查询C#Web API以获取数据。使用这个设置,我可以获得我正在寻找的大多数功能,但是我想添加一个我认为需要C#的功能,它实际上并不是一个API调用:

当用户点击某个按钮时,我想弹出一个包含预先填充的收件人和主题字段的新Outlook邮件。我也希望能够预先包含附件。

我之前在C#中按照与these类似的步骤完成了这项工作,但我是AngularJS和SPA架构的新手。有没有办法实现这个功能? C#代码在解决方案中的位置,以及如何将其连接到Angular?

由于这是一个内部非面向客户的应用,您可以假设所有用户都安装了Outlook。

2 个答案:

答案 0 :(得分:4)

鉴于本机代码在Web应用程序中的服务器上执行(不仅仅是有角度的),我不相信直接做你所要求的事情。

Web应用程序是大量沙盒化的,直接与本机应用程序交互是故意非常困难的。对于基本应用程序,我会使用mailto链接,因为它们将在用户默认邮件应用程序(可能是Outlook)中打开。

如果还不够,请考虑在您的网页上添加一个可以提交给服务器的表单,然后代表他们发送电子邮件。

答案 1 :(得分:0)

受BradleyDotNET的回答启发,我决定使用mailto链接,这将允许我填写主题和收件人字段。 但是为了处理附件,我发现建议here来托管网站上的附件,并在mailto的正文中添加一个下载链接。对于PDF,我可以创建一个视图with the PDF embedded