如何在HTML中制作一个简单的电子邮件表单提交?

3

我尝试过w3schools,但没什么帮助,我也试了其他网站。我只想写一个简短的HTML脚本,能够向某个电子邮件地址发送邮件,但是我不断刷新我的电子邮箱收件箱,却没有任何结果。你能帮忙吗?

<form action="MAILTO:MY_EMAIL@yahoo.com" method="post" enctype="text/plain">
<input type="text" name="email" value="Email">
<input type="text" name="message" value="Message">

<input value="Submit" type="submit">
</form>

不存在所谓的“HTML脚本”。伪协议“mailto:`”旨在与链接一起使用,以启动用户的默认邮件客户端。您无法通过此方式提交表单。W3Schools不是一个备受推崇的资源。请尝试Mozilla开发者网络:http://developer.mozilla.org/ 祝你好运! - Kevin Boucher
4个回答

4

这里需要使用服务器端脚本。仅靠HTML是不够的,因为HTML只是前端逻辑。你需要一些后端脚本来接收提交的数据并实际发送电子邮件。以PHP为例,假设您已经设置好了服务器或共享主机。

<form action="sendmail.php" method="post" enctype="text/plain">
<input type="text" name="email" value="Email">
<input type="text" name="message" value="Message">

<input value="Submit" type="submit">
</form>

sendmail.php

$email=$_POST['email'];
$message=json_encode($_POST);
$receiver="MY_EMAIL@yahoo.com";
$mailer="mailer@myservice.com";

mail($email,"Message for enquiry or whatever",$message,  array("from"=>$mailer));

2

在某个时候,有一些浏览器支持这种类型的表单。但是现在它们都已经消失了 -- 您需要一个服务器端脚本来发送电子邮件。仅使用HTML是不可能完成的。


2
您正在混淆几个概念。当您提交表单时,它会从客户端(浏览器)发送到服务器,服务器会对其进行处理。表单操作需要是可处理请求的URL。mailto: URI方案不是一个有效的操作。您有两个选择: 您可以创建像这样的mailto链接: 发送电子邮件 这将打开您的默认电子邮件客户端, 或者 您可以放置与服务器上某个终端点相对应的URL,例如
并让您的服务器发送电子邮件。

0

我认为最简单的方法是使用像ZapierIFTTT这样的服务。它们都提供了一种创建Zaps/Applets的方式,可以在您发布到特定URL时发送电子邮件。

这是在IFTTT IFTTT和Zapier Zapier中的配置。

IFTTT更容易设置,Zapier有更多选项,例如发送到多个电子邮件。我认为IFTTT只允许您发送到您帐户的电子邮件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接