如何从客户端 angular 表单发送电子邮件而无需服务器端申请联系我们表单

How To send an Email from a client side angular form without server side application for Contact us form

我有一个没有服务器端(没有数据库)的 angular 网站(pwa 网站),我有一个联系我们的表格,我想让最终用户发送一些数据,比如 "name", "email"、"topic" 和...到特定的电子邮件,例如 "info@gtx.com"

目前我在主机域上上传网站时没有联系我们表格。

我正在为网站使用 angular 7

我目前正在使用名为 FormSpree 的这项服务,它使我们无需 server-side 代码即可处理电子邮件联系表。它一直运行良好,甚至到现在。

1) 在指定 name 属性并在表单的 action 上添加 POST 请求 url 后,您可以完全在 component.html 上处理它]属性。

<form action="https://formspree.io/your@email.com" method="POST" />
.
.
<input type="text" name="name">

2) 或者,您可以在您的组件上处理它。ts/service.ts 通过调用 HttpClient 向“https://formspree.io/your@email.com”发送一个 post 请求,连同请求 body 和 headers。


或者,您可能想使用 SendGrid,但我在这里可能帮不上什么忙,因为我还没有真正尝试过。然而,他们似乎有相当广泛的 API 和体面的 documentation,所以你可能想参考它如何开始使用它。

不能通过前端代码直接发送邮件。 相反,您可以

  • 使用最终用户邮件客户端。
  • 使用第三方网络服务。
  • 使用您自己的后端服务。

(可以把后端代码放在同一个应用中,作为一个应用托管。https://nodemailer.com/about/是一个使用后端js代码发送邮件的库)

我所做的是使用电子邮件 api (mailthis.to) 和服务内部的邮寄消息来发送电子邮件。并且有效