我已经研究了通过静态网站上的表单发送电子邮件的各种方法。这样@ https://sendgrid.com/blog/send-email-static-websites-using-parse/看起来对我来说是最好的!喜欢这个教程。来自Martyn Daviesonon的好东西如何部署云代码并使用解析的javascript api。感谢分享Martyn :)
然而,我遇到了一个问题,实际上让它正常工作...我真的想使用这种方法,但它只需要一点点修复。
目前我在控制台中弹出此错误。 这是一个400坏请求.. 当我点击emailer.js:28的链接时,我需要在我的代码中找到它。这是在emailer.js
中似乎发生错误的地方
error: function(object, error) {
console.log(error);
$('#response').html('Error! Email not sent!').addClass('error').fadeIn('fast');
}
最后,我没有为我的域名设置电子邮件。这是因为我仍然在gh-pages上构建这个站点。我在测试此功能时使用的电子邮件是我的Gmail电子邮件。这也是一个潜在的问题吗?当我实际部署此站点时,我将使用域名电子邮件。
答案 0 :(得分:3)
首先要做的事情。
您真的应该从您的email.js
文件中删除您的Parse.com凭据,因为从您发布对该文件的访问权限开始,任何人都可以使用您的帐户他们喜欢的令人讨厌的东西。只是说。
接下来,您的email.js
文件似乎通过parse.com的REST API调用名为sendEmail
的服务器端/云功能,但您似乎无法在任何地方定义该功能。至少,它不在您的email.js
文件中。你做过这个吗?您是否申请了sendgrid
的正确凭据以允许您访问其API?
您提到的文章定义了一个sendEmail()函数,它调用sendgrid
处的REST API来实际传递电子邮件。然后使用parse.com的Parse.cloud.define()
功能将此功能部署到云服务器。
如果您还没有这样做,那么您无需通过https://api.parse.com/1/functions/sendEmail
致电。