使用HTML5/Javascript模板发送联系人电子邮件表单
我最近使用HTML5模板为一个朋友的企业创建了一个简单的网站。它还包含一些可爱的Javascript元素。该网站的网址是 其中一个元素是页面底部的联系人表单。看起来“发送消息”按钮被编码为完全不做任何事情。让此表单将用户输入的值(即:他们的姓名、电子邮件和消息)转发到专用的电子邮件收件箱有多简单 如果不是那么简单,还有哪些其他选项可以使表单功能化,同时也与站点的总体主题集成使用HTML5/Javascript模板发送联系人电子邮件表单,javascript,html,forms,email,Javascript,Html,Forms,Email,我最近使用HTML5模板为一个朋友的企业创建了一个简单的网站。它还包含一些可爱的Javascript元素。该网站的网址是 其中一个元素是页面底部的联系人表单。看起来“发送消息”按钮被编码为完全不做任何事情。让此表单将用户输入的值(即:他们的姓名、电子邮件和消息)转发到专用的电子邮件收件箱有多简单 如果不是那么简单,还有哪些其他选项可以使表单功能化,同时也与站点的总体主题集成 我假设答案很简单,但我是HTML5的新手,对Javascript一无所知。我们将提前感谢您的帮助。这在纯Javascrip
我假设答案很简单,但我是HTML5的新手,对Javascript一无所知。我们将提前感谢您的帮助。这在纯Javascript中是不可能的。发送电子邮件需要服务器端处理
有几个网站可以让您生成简单的电子邮件表单,请查看:HTML不允许您向电子邮件提交表单 您可以使用
mailto
,但这不是最友好的功能。它将打开Outlook并将表单数据转储到电子邮件内容中。但是有很多问题
我的建议是使用“表单邮件脚本”。但这只在服务器端完成,所以您需要有一个web服务器。你需要在谷歌上搜索并阅读它们
在我看来,最好的办法是用PHP创建一个简单的后端应用程序
mail.php
表单
标记中,您需要添加操作
属性以及mail.php
文件路径和方法
属性,以便表单知道使用哪个HTTP请求方法发送数据
。这将为“发送消息”按钮添加要触发的操作,您说该按钮不起作用
这是因为现在按钮知道如果你点击它该做什么。它从表单输入字段获取所有数据,并将它们发送到mail.php
文件。此文件需要获取并验证它们。(您至少应该为表单中的必填字段创建验证,以检查它们是否为空。您可以在内置html属性中或在JavaScript的帮助下进行一些额外的验证)Mail.php
中创建Mail函数。以下是执行此操作所需的所有文档:正如其他答案中提到的,您不能使用HTML5发送电子邮件。这需要在您的服务器上完成 一个简单而免费的解决方案是使用。您可以并拥有如下
doPost
方法:
function doPost(e){
var email = e.parameter.email;
var subject = 'E-mail from website';
var message = e.parameter.message;
MailApp.sendEmail(emailAddress, subject, message);
return ContentService.createTextOutput('E-mail sent!');
}
<form action="url to your deployed app script" method="post">
<input type="email" name="email"></input>
<textarea name="message"></textarea>
<input type="submit" value="Submit"></input>
</form>
在您的HTML中,您将有如下表单:
function doPost(e){
var email = e.parameter.email;
var subject = 'E-mail from website';
var message = e.parameter.message;
MailApp.sendEmail(emailAddress, subject, message);
return ContentService.createTextOutput('E-mail sent!');
}
<form action="url to your deployed app script" method="post">
<input type="email" name="email"></input>
<textarea name="message"></textarea>
<input type="submit" value="Submit"></input>
</form>
当您将应用程序脚本设置为Web应用程序时,将显示要放入操作
属性的URL:
你是指JavaScript而不是Java吗?这两个很不一样。@MattBall啊,是的。我缺乏知识,这表明我已经准备好了。在原始帖子中编辑。投票关闭,因为答案很简单:你不能只在客户端使用JavaScript发送电子邮件。稍长一点的解释是,您要么需要自己的某种服务器后端来处理接收邮件并将其作为SMTP电子邮件发送,要么使用某种第三方服务(如果存在的话)。除此之外,对于可用选项,这里可能的“答案”是无限的&在这些选项中进行选择主要是基于意见的,因此保持这种开放性是没有成效的。