为什么我的PHP recaptcha联系人表单没有将消息发送到指定的电子邮件?

为什么我的PHP recaptcha联系人表单没有将消息发送到指定的电子邮件?,php,recaptcha,Php,Recaptcha,我收到一条消息说表单已成功提交,但没有收到电子邮件。我目前的联系方式有效,但我收到了太多的垃圾邮件。我尝试用这里的recaptcha示例进行修改,但似乎没有一个示例显示如何实际发送包含联系人表单中输入的信息的电子邮件。以下是我的PHP代码: <?php $name = $_POST['name']; $email = $_POST['email']; $phone = $_POST['phone']; $message = $_POST['message']; $token

我收到一条消息说表单已成功提交,但没有收到电子邮件。我目前的联系方式有效,但我收到了太多的垃圾邮件。我尝试用这里的recaptcha示例进行修改,但似乎没有一个示例显示如何实际发送包含联系人表单中输入的信息的电子邮件。以下是我的PHP代码:

<?php
$name   = $_POST['name'];
$email   = $_POST['email'];
$phone   = $_POST['phone'];
$message   = $_POST['message'];
$token  = $_POST['token'];
$action = $_POST['action'];
$from = 'Glass & Tile Works Website'; 
$to = 'glassandtileworks@gmail.com'; 
$subject = 'New website lead';
$body = "From: $name\n E-Mail: $email\n Message:\n $message\n Phone:\n $phone";

if ($_POST['submit']) {
$curlData = array(
    'secret' => 'My secret key',
    'response' => $token
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://www.google.com/recaptcha/api/siteverify");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($curlData));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$curlResponse = curl_exec($ch);

$captchaResponse = json_decode($curlResponse, true);

if ($captchaResponse['success'] == '1' && $captchaResponse['action'] == $action && 
$captchaResponse['score'] >= 0.5 && $captchaResponse['hostname'] == $_SERVER['SERVER_NAME']) {
    echo 'Form Submitted Successfully';
} else {
    echo 'You are not a human';
}
}

脚本中没有任何地方可以调用任何邮件函数。考虑阅读有关./p>的文档。

此外,如果您使用本机PHP mail()函数,您的脚本将容易受到攻击,并可能成为一个错误。我强烈建议您检查并验证所有这些
$\u POST
变量——例如,确保它们没有新行字符。更好的方法是使用一些现有的邮件库,如Laravel或CodeIgniter,或者使用一些框架的邮件函数。

在脚本中没有任何地方可以调用任何邮件函数。考虑阅读有关./p>的文档。
此外,如果您使用本机PHP mail()函数,您的脚本将容易受到攻击,并可能成为一个错误。我强烈建议您检查并验证所有这些
$\u POST
变量——例如,确保它们没有新行字符。更好的方法是使用一些现有的邮件库,如Laravel或CodeIgniter等框架的邮件功能。

谢谢。我是个新手,但这有帮助。你评论的第二部分对我的技术诀窍来说太复杂了。即使我在使用recaptcha,我仍然会被垃圾邮件攻击吗?recaptcha为您所做的唯一一件事就是减慢机器人提交的速度。任何恶意的人仍然可以在字段中输入垃圾,尽管他们回答了合法的recaptcha挑战。谢谢。我是个新手,但这有帮助。你评论的第二部分对我的技术诀窍来说太复杂了。即使我在使用recaptcha,我仍然会被垃圾邮件攻击吗?recaptcha为您所做的唯一一件事就是减慢机器人提交的速度。任何恶意的人仍然可以在字段中输入垃圾,尽管他们回答了合法的recaptcha挑战。