从GitHub页面上托管的静态页面发送电子邮件

A9S*_*9S6 51 html forms html-email github-pages

我使用GitHub Pages托管了一个静态HTML页面.我需要在我的静态页面添加"发送反馈"功能,用户可以在其中输入他的姓名,电子邮件,评论并单击"提交"按钮.这会将包含内容的电子邮件发送到我的电子邮件地址.这可以在GitHub上的静态HTML页面中以某种方式工作吗?GitHub Pages是否支持此邮件功能?

我还想知道GitHub Pages服务器支持哪些功能/插件等基于它使用的底层Web服务器?

Par*_*san 69

是的,可以在formspee的帮助下以这种方式完成.

Formspree

http://formspree.io/

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>
Run Code Online (Sandbox Code Playgroud)

就是这样,你的表格已经有效了!它会将表单发布到外部域,formspree.io,并向您发送包含所有表单内容的电子邮件.没有数据库.您只需点击邮箱中的回复即可继续与访问者进行对话.

这个工具是由Brace的人员建造的,然后由大会开源和托管.

设置简单而且免费.这是如何做:

你甚至不需要注册.

  1. 设置HTML表单

将表单的action-attribute更改为this并将your@email.com替换为您自己的电子邮件.

http://formspree.io/your@email.com

  1. 提交表单并确认您的电子邮件地址

转到您的网站并提交表格一次.这将向您发送一封电子邮件,要求您确认您的电子邮件地址,以便没有人可以开始从随机网站向您发送垃圾邮件.

  1. 全部设置,接收电子邮件

从现在开始,当有人提交该表单时,我们会将数据作为电子邮件转发给您.

  • 再次免费支持 AJAX。在这里查看我的较长更新:/sf/answers/4110515811/ (2认同)

Mos*_*atz 32

这不能在GitHub页面上本地完成.您将需要使用一些 样的 形式提交工具.

GitHub的页面文档描述了您可以和不能使用托管以及它支持的插件.


小智 18

Github页面不支持php和其他一些你需要的后端内容.一个简单的方法是创建一个与您的html表单相对应的google表单,并使用提交的操作.通过重定向来完成它有点麻烦,但可以做到.

我是这样做的:https: //github.com/toperkin/staticFormEmails/blob/master/README.md

  • 我的朋友,这被称为跳出框框思考...不过安全性怎么样?那些是纯 HTML 请求 (3认同)

Col*_*ole 10

Formspree 创始人在这里。

Formspree 在过去几年中发生了一些变化。它现在支持免费的 AJAX、垃圾邮件过滤、可选的验证码验证以及包括 Zapier 在内的几个内置插件。

最好的入门方法是在主页 ( https://formspree.io )上创建一个表单,或转到https://formspree.io/create。将您的电子邮件直接放在 URL 中的旧方法仍然有效,但这会将您的电子邮件暴露在 HTML 中,并且需要一个激活步骤。在 Formspree 中创建表单可避免表单激活步骤,并隐藏您的电子邮件地址。

https://help.formspree.io/ 上有很多关于 Formspree 的功能和常见问题的最新信息。该产品每周都会继续改进。快来看看吧!


juz*_*aai 9

GitHub Pages不提供/支持类似的功能,因为它只是静态的网站托管。它提供HTML文件和资产,但不运行服务器端脚本。

几个月前,我遇到了同样的问题,并做了一些研究。如其他人所述,此任务需要外部表单处理程序服务。幸运的是,其中有很多:

我根据他们的网站比较了它们的功能和限制,然后选择并试用了Basin,最后坚持了下来。它提供垃圾邮件过滤器,验证码验证,Zapier集成;在表单中隐藏您的电子邮件地址,它可以将电子邮件回执发送给提交表单的人-所有这些都是免费的。在我的联系表单后面的网站上(托管在GitHub Pages上),它就像一个魅力。

编辑:当我最初写这个答案时,它提供了无限的提交,但是现在,无限提交和重定向URL需要付费订阅。

设置非常容易,管理界面显示要复制粘贴的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>
Run Code Online (Sandbox Code Playgroud)

前段时间,我写了一篇有关测试盆地的博客文章,其中有更多详细信息。


jan*_*uez 5

是的,可以,网络上有许多应用程序,可让您使用几行javascript行从静态HTML发送电子邮件。其中有些是mandrillapp,sendgrid,等等,和最好的人,他们都是免费的!


Ada*_*dam 5

此解决方案涉及在虚拟服务器上自托管后端部分,不要害怕一点后端。这是我的静态 GitLab 页面, 没有任何第三方表单提供程序

我创建了一个开源项目,使您能够将联系表格包含到您的 GitHub、GitLab 或任何其他静态托管网站中。我找到了答案,你不能自己做,请使用 formpree 不是一个好的答案。虽然您目前无法在 GitHub 和 GitLab 页面上托管后端服务,但您可以使用跨源资源共享将请求转发到您自己的后端服务器。

我的解决方案的前端部分可在此处的GitLab 上找到。它使用 jQuery Ajax 通过使用 CORS 的 HTTP post 请求将数据发送到后端。PHP 后端代码在这里。因为大多数人不会被服务器安装所困扰,所以我包含了一个ansible playbook来自动完成所有事情。

功能包括:

  • 谷歌验证码
  • 使用 jQuery 验证的表单验证
  • 多文件上传

因此,如果您不想花 30 分钟来了解如何配置和部署 ansible playbook,那么您可以使用我的解决方案。云提供商的价格极具竞争力。(OVH vps 初学者从 3,50eur/月起,netcup低于 3eur/月)。使用最小的 VPS,您可以根据需要处理数百个 GitHub/GitLab 页面的并发表单提交。你在 formpree 上要花多少钱?

此解决方案的代码是开源的,并托管在 GitLab 上,供任何人改进或修复任何安全问题。而且因为我认为对基本需求软件收费很糟糕,比如联系表,它会保持开源。永远。