我使用GitHub页面托管了一个静态HTML页面。我需要添加一个"发送反馈"功能到我的静态页面,用户可以在其中输入他的姓名,电子邮件,评论,然后单击“提交”按钮。这会将包含内容的电子邮件发送到我的电子邮件地址。这可以在GitHub上的静态HTML页面中以某种方式工作吗? GitHub Pages是否支持此邮件功能?
我还想知道GitHub Pages服务器支持哪些功能/插件等基于它使用的底层Web服务器?
答案 0 :(得分:66)
是的,可以在formspee的帮助下以这种方式完成。
<强> Formspree 强>
HTML表单 只需将表单发送到我们的网址,我们就会将其转发到您的电子邮箱中。无需PHP,Javascript或注册 - 非常适合静态网站!您只需打开文本编辑器,然后粘贴以下代码:
<form action="http://formspree.io/you@email.com"><input type="email" name="_replyto"><textarea name="body"></textarea><input type="submit" value="Send"></form>
就是这样,你的表格已经有效了!它会将表单发布到外部域,formspree.io,并向您发送包含所有表单内容的电子邮件。没有数据库。您只需点击邮箱中的回复即可继续与访问者进行对话。
这个工具是由Brace的人员建造的,然后由大会开源和托管。
设置简单而且免费。方法如下:
你甚至不需要注册。
- 设置HTML表单
醇>将表单的action-attribute更改为this并替换your@email.com 用你自己的电子邮件。
http://formspree.io/your@email.com
- 提交表单并确认您的电子邮件地址
醇>访问您的网站并提交表格一次。这会发给你一个 要求确认您的电子邮件地址的电子邮件,以便无人可以启动 从随机网站向您发送垃圾邮件。
- 全部设置,接收电子邮件
醇>从现在开始,当有人提交该表格时,我们会转发给您 数据如电子邮件。
答案 1 :(得分:27)
这不能在GitHub页面上本地完成。您需要使用some kind of form submission tool。
GitHub的pages documentation描述了您可以和不能使用托管以及它支持的插件。
答案 2 :(得分:17)
Github页面不支持php和其他一些你需要的后端内容。一个简单的方法是创建一个与您的html表单相对应的google表单,并使用提交的操作。通过重定向来完成它有点麻烦,但可以做到。
我是这样做的: https://github.com/toperkin/staticFormEmails/blob/master/README.md
答案 3 :(得分:7)
GitHub Pages不提供/支持类似的功能,因为它只是静态的网站托管。它提供HTML文件和资产,但不运行服务器端脚本。
几个月前,我遇到了同样的问题,并做了一些研究。如其他人所述,此任务需要外部表单处理程序服务。幸运的是,其中有很多:
我根据他们的网站比较了它们的功能和限制,然后选择了 Basin ,最后我坚持了下来。它提供无限的提交,垃圾邮件过滤器,验证码验证,Zapier集成;在表单中隐藏您的电子邮件地址,它可以将电子邮件回执发送给提交表单的人-所有这些都是免费的。在我的联系表格后面,它就像在我的网站(托管在GitHub Pages上)上的护身符一样。
设置非常简单,管理界面显示要复制粘贴的HTML代码段。您的表单将如下所示:
<form accept-charset="UTF-8" action="https://usebasin.com/f/123456xabcdef" enctype="multipart/form-data" method="POST">
<input type="email" id="email" name="email" required>
<textarea rows="4" cols="50" name="comment" required></textarea>
<button type="submit">Submit</button>
</form>
前段时间,我写了blog post关于测试盆地的详细信息。
答案 4 :(得分:3)
是的,它可以,网络上有很多应用程序,允许您通过几个javascript行从静态HTML发送电子邮件。 其中一些是 mandrillapp ,sendgrid,以及其中最好的,它们都是免费的!
答案 5 :(得分:1)
为什么不创建/使用Sendgrid(或类似的东西)smtp api,并使用axios发布发送任何邮件的请求。
答案 6 :(得分:1)
Formspree创始人在这里。
在过去几年中,大礼包发生了一些变化。现在,它支持免费的AJAX,垃圾邮件过滤,可选的验证码验证以及包括Zapier在内的多个内置插件。
最好的入门方法是在主页(https://formspree.io)上创建表单,或转到https://formspree.io/create。将电子邮件直接放在URL中的旧方法仍然可以使用,但是这会使电子邮件以HTML形式公开,并且需要激活步骤。在Formspree中创建表单可以避免表单激活步骤,并隐藏您的电子邮件地址。
https://help.formspree.io/上有许多有关Formspree功能和常见问题的最新信息。该产品每周持续改进。快来看看!
答案 7 :(得分:1)
此解决方案涉及将后端部分自动托管在虚拟服务器上,不要害怕后端。这里是my static GitLab page ,没有任何第三方表单提供者。
我创建了一个开源项目,使您可以将联系表单包含到GitHub,GitLab或任何其他静态托管网站中。我找到了答案,您自己不能解决,请使用Formspree不是一个好的答案。确实如此,因为您当前无法在GitHub和GitLab页面上托管后端服务,但是您可以使用cross origin resource sharing将请求转发到您自己的后端服务器。
我的解决方案的前端部分可在GitLab here上找到。它使用jQuery Ajax使用CORS向后端发送带有HTTP发布请求的数据。 PHP后端代码为here。因为大多数人都不会为服务器安装而烦恼,所以我加入了ansible playbook来自动执行所有操作。
功能包括:
因此,如果您不愿意花30分钟来了解如何配置和部署Ansible剧本,则可以使用我的解决方案。云提供商的价格非常具有竞争力。 (OVH vps starters从3,50eur /月起,netcup在3eur /月以下)。使用最小的VPS,您可以根据需要为多个GitHub / GitLab页面处理数百个并发表单提交。在formpree上要花多少钱?
该解决方案的代码是开源的,托管在GitLab上,任何人都可以改善或修复任何安全问题。而且由于我认为对基本需求软件(如联系表)进行收费很糟糕,因此它将保持开源状态。永远。
答案 8 :(得分:0)
我为这些事情建立了https://www.formbackend.com。您唯一需要的是在网站上创建表单后端,并使用唯一的网址作为action
<form action="[FORMBACKEND_UNIQUE_URL]">
您添加到表单的字段将提交到我们的后端,您可以在其中在线查看 - 或者您可以进行设置,以便每次有人提交表单时都会收到电子邮件! :)
答案 9 :(得分:0)
您将构建的任何静态网站都不支持此功能。然而,有大量的服务可以帮助你做到这一点。现在你只需要在你的网站上Group 1
,但随着时间的推移,你会想要做更多的事情:
我正在尝试一种工具Formester.com,它可以帮助您以实惠的价格完成所有这些工作。
答案 10 :(得分:0)
很遗憾,您无法通过Github页面进行操作。您可以通过提交工具来实现。
我从Medium.com找到了一篇文章。在文章中,作者提到http://formspree.io/作为提交工具。在本文中,作者明确提到了这些步骤。我认为此链接对您有所帮助。