-3

所以我基本上没有使用 PHP 的经验,我需要创建一个 PHP 表单,根据用户的选择,它会发送到不同的电子邮件地址。

例如,下拉菜单将包含以下选项:服务、零件、人力资源等。

并且这些选项中的每一个,当被选中时,将允许完整提交“姓名、电子邮件、电话号码等”。去那个特定部门的电子邮件地址。

我看到了一些与此类似的答案,但由于我对 PHP 的了解有限,我在创建它时遇到了很多麻烦。

有人可以帮我吗?

谢谢!

4

3 回答 3

1

您可以从您的选择字段中获取电子邮件的值,并在发送邮件时使用它,如下所示:

$mail['to'] = $_POST['mail']; 
//make sure to filter this using regex/etc.. 
//to make sure this is a valid email and is coming from your own form.

mail($mail['to'], $mail['subject'], $mail['body'], $mail['headers'])

我会把数据过滤留给你,但你应该明白。

编辑:

确保您进行过滤$_POST['mail'];,因为如果您没有过滤,这将导致其他人向您的脚本提交电子邮件,这是一个巨大的安全漏洞。可能的解决方案是使用随机数或 1 次使用令牌等。尝试搜索邮件标头注入以获取更多信息。

于 2013-05-06T14:43:38.420 回答
0

使用该mail()功能并根据发布的参数选择适当的电子邮件地址。请注意,允许未知用户直接通过您的服务器发送邮件可能不是一个好主意:如果mail()实现方式存在安全漏洞怎么办?为什么不将相关电子邮件地址放在网站上,并根据用户从下拉菜单中选择的条目仅显示正确的电子邮件地址?

于 2013-05-06T14:44:11.840 回答
0

你应该这样做:

<?php
// Check if form has been submitted
if (isset($_POST["dep"])) {
if ($_POST["dep"] == 1) {
$email = "sales@example.com";
}
elseif ($_POST["dep"] == 2) {
$email = "support@example.com";
}
// Send the email
mail($email, "The subject", "The Body, "Some headers (optional)")
}
?>
<select name="dep">
<optoin value="1">Sales</option>
<optoin value="2">Support</option>
</select>
于 2013-05-06T14:45:38.593 回答