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

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

我还想知道GitHub Pages服务器可以基于其使用的基础Web服务器来支持哪些功能/插件?

A9S6 asked 2020-01-23T20:58:08Z
8个解决方案
68 votes

是的,可以在formpee的帮助下以这种方式完成。

大礼包

[http://formspree.io/]

HTML表格只需将您的表格发送到我们的URL,我们会将其转发到您的电子邮件。 无需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表单

将表单的动作属性更改为此,并替换your@email.com   用您自己的电子邮件。

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

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

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

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

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

Parvez Hassan answered 2020-01-23T20:59:48Z
31 votes

这不能在GitHub页面上本地完成。 您将需要使用某种形式的提交工具。

GitHub的页面文档描述了托管可以做什么,不能做什么以及支持的插件。

Moshe Katz answered 2020-01-23T20:58:25Z
18 votes

Github页面不支持php和您需要的其他一些后端东西。 一种简单的方法是只创建一个与您的html表单相对应的google表单,然后使用向其提交的操作。 在没有重定向的情况下执行此操作比较棘手,但可以完成。

这是我的操作方式:[https://github.com/toperkin/staticFormEmails/blob/master/README.md]

user3835730 answered 2020-01-23T21:00:13Z
8 votes

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

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

  • 99入站
  • 盆地
  • 轻快表格
  • 埃尔福莫
  • enformed.io
  • formspree.io
  • mailthis.to
  • 页面剪辑
  • 简单的模式

我根据他们的网站比较了它们的功能和限制,然后选择并试用了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>

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

juzraai answered 2020-01-23T21:01:35Z
4 votes

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

jandresrodriguez answered 2020-01-23T21:01:56Z
0 votes

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

您添加到表单中的字段将提交到我们的后端,您可以在此处在线查看它们-或可以对其进行设置,以便每次有人提交您的表单时都收到一封电子邮件! :)

Jesper answered 2020-01-23T21:02:21Z
0 votes

不,您将构建的任何静态站点均不支持此功能。 然而,有大量的服务可以帮助您做到这一点。 现在,您只需要在网站上输入static form,但随着时间的流逝,您将需要做更多的事情,例如:

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

我正在试用Formester.com工具,它将以可承受的价格帮助您完成所有这些工作。

aks answered 2020-01-23T21:02:58Z
0 votes

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

Prakhar Varshney answered 2020-01-23T21:03:18Z
translate from https://stackoverflow.com:/questions/24348223/send-email-from-static-page-hosted-on-github-pages