0

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

在页面底部,我有一个名为:Get in touch的 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>

我可以修改此代码以发送包含插入内容(表单字段中插入的内容)的电子邮件吗?

我该怎么办?

肿瘤坏死因子

安德烈亚

4

2 回答 2

2

您将需要创建一个 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

希望这对你有帮助

于 2013-10-09T15:20:55.353 回答
0

你有两个选择:

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

第一个选项很简单,您的表单操作将是:

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

当然,我认为您的输入还需要匹配名称“主题”和“主体”,如下所示:

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

请注意,这些是name属性,而不是id属性。表单使用名称。所以你应该name为你的表单元素添加属性。

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

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

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 文档中的其他示例。您也很可能希望在发送此电子邮件之前进行一些错误检查,并且肯定需要一些用户授权。在您的网页上拥有一个开放的电子邮件网关对垃圾邮件发送者来说是有价值的,因此您可能会将您的服务器列入黑名单。

于 2013-10-09T15:23:43.553 回答