The*_*imp 3 javascript email reactjs redux-form
我创建了一个简单的联系表单,允许用户在我的网站上输入其姓名,电子邮件和短信(使用进行运行firebase hosting)。
当他们点击submit我要生成一封电子邮件,从它们发送到自己(即从和/或回复到将它们输入的电子邮件地址),包含他们的信息。
我知道,出于多种原因,在浏览器中执行此操作存在一些限制。我也知道,可以通过使用mailto电子邮件中预先填充的额外信息的链接来实现此目的,但是我也不想使用这种方法。
相反,我想知道是否有什么方法可以从浏览器中实现全部目标?我一直认为是POST向另一个服务(不是我本人拥有)发出请求,然后该服务将按所述发送电子邮件。有人对这种要求有经验吗?
注意:我目前正在托管,firebase因为它免费提供静态内容。我调查了我是否可以运行express服务器并使用诸如之类的东西nodemailer,但是我认为我最终会花钱在某个地方运行它,因为我预计不会发送超过25至50封电子邮件,这似乎有些过头了一个月。
现在可以通过SaaS产品EmailJS实现。它们充当您和电子邮件提供商之间的中间人,确保API密钥不公开。
从他们的主页:
无需服务器
我们提供了一种即装即用的服务,使您可以发送不带服务器端代码的电子邮件。
此答案概述了替代解决方案。请确保不要将您的SMTP凭据泄漏到网络上。
TL; DR不要在客户端这样做。这就是后端的用途。
您不能仅从浏览器发送电子邮件,因为浏览器的构建方式不像邮件客户端那样。没有要使用的邮件服务器。
您需要从服务器或第三方提供商发送电子邮件。
此类提供程序的一个示例是SendGrid,它们提供了RESTful API,就像您正在寻找的那样。在API文档中了解如何发送电子邮件。
SendGrid不是您唯一的选择。这是不同交易电子邮件提供商的比较
但是,存在安全风险:如果让客户从他们的浏览器调用API,那么您就向他们公开了API密钥。任何开发人员都可以轻松地使用此API密钥从您的SendGrid帐户发送电子邮件。那不是你想要的。最好在后端执行此操作。不想为服务器付费?没问题,有免费托管。如果这是您后端的唯一功能,则免费提供就足够了。