PHP 添加 $headers 时发送多封电子邮件的联系表
PHP contact form sending multiple emails when I add $headers
我有一个发送电子邮件的联系表,但将我的电子邮件服务器显示为 "from",因此很难回复从联系表发送的电子邮件
我试过添加
$headers = 'Reply-To: ' . $email . "\r\n" . 'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
到我的脚本,虽然这在发送您可以回复的电子邮件方面非常有效,但它仍然也发送了一封您无法回复的电子邮件!
我是一个 PHP 新手,所以我认为我在发送两条消息时出错了,如果有人可以指出这是什么,我将不胜感激,尽管我已经看过其他类似的问题在这里我找不到解决方案
这是我的代码:
include ("includes/header.php");
$pagetitle = "Contact Us";
$description = "";
$keywords = "";
$name = ($_POST['name']);
$email = ($_POST['email']);
$message = ($_POST['message']);
$from = ($_POST['email']);
$to = 'info@mydomain.co.uk';
$subject = "Enquiry from Visitor " . $name;
$human = ($_POST['human']);
$headers = 'Reply-To: ' . $email . "\r\n" . 'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
?>
<div class="container-fluid contactform">
<div class="col-md-6 contactform-padding">
<h2>Contact Us</h2>
<?php
if (isset($_POST['submit']) && $human == '4') {
if (mail ($to, $subject, $body, $from)) {
echo '<p>Thanks for getting in touch. Your message has been sent & We will get back to you shortly!</p>';
} else {
echo '<p>Something went wrong, go back and try again!</p>';
}
} else if (isset($_POST['submit']) && $human != '4') {
echo '<p>You answered the anti-spam question incorrectly!</p>';
}
?>
<form method="post" action="index.php" data-ajax="false" method="POST" enctype="multipart/form-data">
<div class="form-group">
<label class="control-label " for="name">
<p>Name</p>
</label>
<input class="form-control" id="name" name="name" type="text"/>
</div>
有人可以向我指出为什么要发送两封电子邮件吗?我真的很感激 - 我知道我犯了一个愚蠢的错误,我看不到 why/how
谢谢!
请再次检查代码。
您调用了两次邮件函数。
一个在上面,另一个在 if condition
从上面的代码中删除 邮件功能
可以根据您的 if 条件发送邮件
我有一个发送电子邮件的联系表,但将我的电子邮件服务器显示为 "from",因此很难回复从联系表发送的电子邮件
我试过添加
$headers = 'Reply-To: ' . $email . "\r\n" . 'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
到我的脚本,虽然这在发送您可以回复的电子邮件方面非常有效,但它仍然也发送了一封您无法回复的电子邮件!
我是一个 PHP 新手,所以我认为我在发送两条消息时出错了,如果有人可以指出这是什么,我将不胜感激,尽管我已经看过其他类似的问题在这里我找不到解决方案
这是我的代码:
include ("includes/header.php");
$pagetitle = "Contact Us";
$description = "";
$keywords = "";
$name = ($_POST['name']);
$email = ($_POST['email']);
$message = ($_POST['message']);
$from = ($_POST['email']);
$to = 'info@mydomain.co.uk';
$subject = "Enquiry from Visitor " . $name;
$human = ($_POST['human']);
$headers = 'Reply-To: ' . $email . "\r\n" . 'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
?>
<div class="container-fluid contactform">
<div class="col-md-6 contactform-padding">
<h2>Contact Us</h2>
<?php
if (isset($_POST['submit']) && $human == '4') {
if (mail ($to, $subject, $body, $from)) {
echo '<p>Thanks for getting in touch. Your message has been sent & We will get back to you shortly!</p>';
} else {
echo '<p>Something went wrong, go back and try again!</p>';
}
} else if (isset($_POST['submit']) && $human != '4') {
echo '<p>You answered the anti-spam question incorrectly!</p>';
}
?>
<form method="post" action="index.php" data-ajax="false" method="POST" enctype="multipart/form-data">
<div class="form-group">
<label class="control-label " for="name">
<p>Name</p>
</label>
<input class="form-control" id="name" name="name" type="text"/>
</div>
有人可以向我指出为什么要发送两封电子邮件吗?我真的很感激 - 我知道我犯了一个愚蠢的错误,我看不到 why/how
谢谢!
请再次检查代码。
您调用了两次邮件函数。 一个在上面,另一个在 if condition
从上面的代码中删除 邮件功能
可以根据您的 if 条件发送邮件