我可以修改这个简单的HTML表单以发送电子邮件吗?


Can I modify this simple HTML form in order to send an e-mail?

如果你进入这个页面,你可以很容易地解开我想做的事情:http://lnx.erusma.org/en/

在页面底部,我有一个名为:Get in Contact的HTML模块,该模块由一些被认为代表电子邮件发件人模块的字段组成。

问题是,目前,这只是一个HTML模块,并且不会无处发送电子邮件。

它的代码实际上是:

<form>
    <input id="name" title="name" type="text" placeholder="Your name" size="23" style="width:94%" />
    <input id="email" title="email" type="text" placeholder="Your email" size="23" style="width:94%" /> <br />
    <input id="subject" title="subject" type="text" placeholder="Subject" size="51" style="width:94%" /><br />
    <textarea id="message" cols="33" style="width:94%" placeholder="Message"></textarea>
    <a style="display:inline-block;background:#fff;border: 1px solid #E7E7E7;border-bottom: 2px solid #93B62A;padding:8px 12px;" href="#" style="float: left;">Submit</a>
</form>

是否可以修改此代码以发送包含插入内容(表单域中插入的内容(的电子邮件?

我该怎么办?

安德里亚

您需要

创建一个 php/asp 或任何服务器端进程来收集值并发送电子邮件。

表单应该像这样修改

<form method="post" action="myformsend.php">
<input id="name" title="name" type="text" placeholder="Your name" size="23"     style="width:94%" />
<input id="email" title="email" type="text" placeholder="Your email" size="23" style="width:94%" /> <br />
<input id="subject" title="subject" type="text" placeholder="Subject" size="51" style="width:94%" /><br />
<textarea id="message" cols="33" style="width:94%" placeholder="Message"></textarea>
<a style="display:inline-block;background:#fff;border: 1px solid #E7E7E7;border-bottom: 2px solid #93B62A;padding:8px 12px;" href="#" style="float: left;">Submit</a>
</form>

你可以以叛变的方式或通过ajax来做到这一点。

对于myformsend.php你可以有这样简单的东西:

<?php
$to = "someone@example.com";
$subject = "Test mail";
$message = "Hello! This is a simple email message.";
$from = "someonelse@example.com";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
echo "Mail Sent.";
?>

您可以在此处查看有关它的更多信息 -> http://www.w3schools.com/php/php_mail.asp

希望这对你有帮助

您有两个选择:

  • 依靠客户端发送电子邮件
  • 从服务器端代码发送电子邮件

第一个选项非常简单,您的表单操作就是:

<form action="mailto:someemail@server.com">

当然,我认为您的输入也需要匹配名称"主题"和"正文",如下所示:

<input name="subject" type="text" />
<textarea name="body"></textarea>

请注意,这些是name属性,而不是id属性。 表单使用这些名称。 因此,您应该向表单元素添加name属性。

不过,这实际上不会"发送电子邮件"。 这将指示 Web 浏览器尝试打开用户的默认电子邮件客户端,并使用这些值作为输入撰写新邮件。 这可能不是你想要的。 特别是如果用户没有电子邮件客户端,因为在这种情况下什么都不会发生。

但是,由于您用"PHP"标记了问题,那么我假设您也有服务器端代码作为选项。 您可以使用 PHP mail() 函数在处理来自此表单的 POST 请求时发送电子邮件。 该页面上的第一个示例非常简单:

mail('caffeinated@example.com', 'My Subject', $message);

您只需要为其提供要使用的字符串即可。 对于您的 POST 表单,您的值将位于:

$_POST['name']
$_POST['email']
$_POST['subject']
$_POST['message']

(同样,这假设您已将name属性添加到表单元素。 我强烈建议你这样做。

使用这些字符串值,您可以构建对mail()的调用:

mail($_POST['email'], $_POST['subject'], $_POST['message']);
你可能想做的更多

,你能做的也更多。 看看链接的 PHP 文档中的其他示例。 在发送此电子邮件之前,您很可能还需要进行一些错误检查,并且肯定需要进行一些用户授权。 在您的网页上打开邮件网关对垃圾邮件发送者很有价值,因此您可能会将服务器列入黑名单。