nodemailer 从投资组合站点发送邮件

nodemailer to send mail from portfolio site

我已经使用 Express 成功创建了一个 Node.js 服务器,并且还安装了 nodemailer 以从我的前端 React 应用程序发送来自 'Contact Me' 表单的数据。我已经在 Heroku 上上传了这个。

不过我有一个问题 - 因为这个端点是在这个 public 域上设置的,理论上,有人可以检查我的源代码,找到 URL,然后构建一个脚本来用随机数据发出大量 POST 请求来炸毁我的收件箱。

有什么办法可以阻止这种行为吗?我从哪里开始研究这个?

我认为验证码可以帮助你。

CORS 正是您要寻找的。我建议多多阅读它,因为它将为您的 Web 开发之旅带来巨大回报! https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

简短的回答是,您必须在 CORS 策略中为您的 Node.js 应用程序 (install it from npm) 设置 Access-Control-Allow-Origin: <yoursite>.com header,这将拒绝任何请求由检查表单目标地址的第 3 方参与者。