【发布时间】:2021-04-15 04:22:23
【问题描述】:
我之前没有使用 PHP 的经验,但我正在尝试创建一个 HTML 电子邮件表单,该表单将消息从用户的电子邮件地址发送到从下拉菜单中选择的收件人。
HTML:
<form action="contact-form.php" method="post">
Which person would you like to contact?</strong><br>
<select name="person" size="1">
<option value="example1@me.com" selected>one</option>
<option value="example2@me.com">two</option>
<option value="example3@me.com">three</option>
<option value="example4@me.com">four</option>
<input type="hidden" name="subject" value="inquiry">
Message:<br>
<textarea name="Comments" rows="5" cols="42"></textarea><P>
Tell the donor how to get in touch with you:<br>
<p>
Name<input type="text" size="35" maxlength="256" name="realname"><br>
E-mail<input type="text" size="35" maxlength="256" name="UserEmail"><br>
Telephone<input type="text" size="35" maxlength="256" name="UserTel"><br>
PHP:
<?php $recipient = $POST['person'];
$subject = "Contact Form";
$message = $_POST['message'];
$formcontent="From: $name \n Message: $message";
$name = $_POST['realname'];
$email = $_POST['UserEmail'];
$telephone = $_POST['EserTel'];
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo "Thank You!";?>
我如何确定电子邮件会从用户的地址发送?我的下拉菜单设置是否有效?我希望比我有更多知识的人能够快速浏览一下并给我反馈。
更新:------------------------------ ------
因此,据我了解,感谢您的帮助,我离这更近了一点
这是我的新 PHP 代码,看起来更好吗?
<?php $sending = [
...
1 => 'one@me.com',
...
2 => 'two@me.com',
...
3 => 'three@me.com',
...
4 => 'four@me.com',
...
];
$subject = "Contact Form";
$message = $_POST['message'];
$formcontent="From: $name \n Message: $message";
$name = $_POST['realname'];
$email = $_POST['UserEmail'];
$telephone = $_POST['UserTel'];
$headers = "From: ['realname'] <info@mywebaddress.com>\r\n";
$headers = "Reply-To: $email \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo "Thank You!";
?>
【问题讨论】:
-
这是不可能的,原因很充分。这意味着任何人都可以从他想要的任何地址发送电子邮件。不是个好主意,对吧?
-
不可能的原因why:您要用于实际发送电子邮件的电子邮件服务器将拒绝它。这就是呼叫预防中继。
标签: php html css forms contact-form-7