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

我使用 GitHub 页面承载了一个静态 HTML 页面。我需要添加一个“发送反馈”功能到我的静态页面,用户可以键入他的名字,电子邮件,评论和点击提交按钮。这将发送一封电子邮件的内容到我的电子邮件地址。这能在 GitHub 的静态 HTML 页面中工作吗?GitHub Pages 支持这个邮件功能吗?

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

57109 次浏览

是的,它可以,有许多应用程序在网络上,让你发送电子邮件从你的静态 HTML 与一对夫妇的 javascript 行。 他们中的一些是 Mandrillapp,sendgrid,在其他人中,最好的,他们都是免费的!

这不能在 GitHub 页面上完成。您需要使用 一些 善良 表格提交工具表格提交工具

GitHub 的 页面文档描述了你可以做什么和不可以做什么,以及它支持什么样的插件。

是的,在 Formspree 的帮助下可以这样做。

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>

就是这样,你的姿势已经起作用了!它会将表单发布到一个外部域 formspree.io 上,并向您发送包含所有表单内容的电子邮件。没有数据库。你可以在邮箱中点击回复,继续与访问者的对话。

这个工具是由来自 Brace 的人开发的,然后开源并由 Assembly 托管。

设置它是容易和免费的。以下是方法:

你都不用登记。

  1. 设置 HTML 表单

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

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

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

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

  1. 都准备好了,接收邮件

从现在开始,如果有人提交了表格,我们会把 数据以电子邮件形式发送。

Github 页面不支持 php 和其他一些你需要的后台工具。一个简单的方法就是创建一个对应于 html 表单的 google 表单,然后使用提交操作。在没有重定向的情况下做这件事有点棘手,但是它是可以做到的。

我是这么做的: Https://github.com/toperkin/staticformemails/blob/master/readme.md

我为这种东西做了 https://www.formbackend.com。您唯一需要的是在网站上创建一个表单后端,并使用唯一的 URL 作为 <form action="[FORMBACKEND_UNIQUE_URL]">中的 action

您添加到表单的字段将被提交到我们的后端,在那里您可以在线查看他们-或者您可以设置它,以便您收到一封电子邮件每次有人提交您的表单!:)

不,这是不支持的任何静态网站,你将建立。然而,有大量的服务可以帮助你做到这一点。现在你只需要一个 static form在你的网站,但随着时间的推移,你会想做更多的事情,如:

  • 用户在你的网站上做什么
  • 给他们发电子邮件
  • 增加参与度等等。

我正在尝试一个工具 Formester.com,这将帮助你做到这一切在一个可承受的价格。

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

几个月前,我遇到了同样的问题,做了一些研究。正如其他人提到的,此任务需要外部表单处理程序服务。幸运的是,它们数量众多:

我根据他们的网站比较了他们的特点和限制,然后我选择,尝试了 洗手盆,最后我坚持了下来。它提供垃圾邮件过滤器,验证验证,Zapier 集成; 隐藏您的电子邮件地址在您的表单,它可以发送一个电子邮件收据的一个谁提交了表单-所有这一切免费。它的工作原理就像我的网站(托管在 GitHub 页面)在我的联系方式后面的一个魅力。

编辑: 当我最初写这个答案的时候,它提供了无限制的提交,但是现在需要付费订阅才能提供无限制的提交和重定向 URL。免费层现在包括100提交/月。

很容易设置,管理界面显示要复制粘贴的 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>

前段时间我写了一篇关于盆地测试的 博客文章文章,其中包含了更多的细节。

为什么不创建/使用 Sendgrid (或类似的东西)一个 smtp api,并使用 xios 发布发送任何邮件的请求。

我是 Formspree 的创始人。

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

开始的最好方法是在主页(https://formspree.io)上创建一个表单,或者转到 https://formspree.io/create。旧的方式把你的电子邮件直接放在网址仍然工作,但这暴露了你的电子邮件在 HTML,并需要一个激活步骤。在 Formspree 创建表单可以避免激活表单步骤,并隐藏您的电子邮件地址。

https://help.formspree.io/上有很多关于 Formspree 特性和常见问题的最新信息。产品在每周的基础上继续改进。过来看看!

不幸的是,你不能通过 Github 页面来实现,你可以通过提交工具来实现。

我找到了一篇 Medium.com的文章。在文章中,作者提到了 http://formspree.io/作为提交工具。在本文中,作者清楚地提到了这些步骤。我认为这个链接对你有帮助。

这个解决方案包括自托管虚拟服务器上的后端部分,不要害怕一个小的后端。这里是 我的静态 GitLab 页面 没有任何第三方表格提供者

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

我的解决方案的前端部分可以在 GitLab 给你上找到。它使用 jQueryAjax 通过 CORS 向后端发送带有 HTTP post 请求的数据。PHP 后端代码是 给你。因为大多数人不愿意安装服务器,所以我包含了一个 可行的剧本来自动完成所有工作。

特色包括:

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

所以如果你愿意花30分钟来理解如何配置和部署可行的剧本,你可以使用我的解决方案。云供应商的价格非常有竞争力。(每月3,50欧元,每月3欧元以下)。使用最小的 VPS,您可以处理任意多个 GitHub/GitLab 页面的数百个并发表单提交。狂欢聚会要花多少钱?

这个解决方案的代码是开源的,托管在 GitLab 上,任何人都可以改进或修复任何安全问题。而且因为我认为对基本需求软件(比如联系方式)收费很糟糕,所以它仍然是开源的。直到永远。