使用AJAX实现reCAPTCHA在PHP中发送邮件的步骤如下:
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
<form id="myForm">
<!-- 其他表单字段 -->
<div class="g-recaptcha" data-sitekey="YOUR_SITE_KEY"></div>
<button type="submit">提交</button>
</form>
<?php
$recaptchaResponse = $_POST['g-recaptcha-response'];
$secretKey = 'YOUR_SECRET_KEY';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.google.com/recaptcha/api/siteverify');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
'secret' => $secretKey,
'response' => $recaptchaResponse
]));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$result = json_decode($response, true);
if ($result['success']) {
// reCAPTCHA验证通过,继续发送邮件
// 邮件发送逻辑
} else {
// reCAPTCHA验证失败,给出错误提示
echo 'reCAPTCHA验证失败';
}
curl_close($ch);
?>
mail()
)发送邮件。例如:<?php
$to = 'recipient@example.com';
$subject = '邮件主题';
$message = '邮件内容';
$headers = 'From: sender@example.com' . "\r\n" .
'Reply-To: sender@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
if (mail($to, $subject, $message, $headers)) {
echo '邮件发送成功';
} else {
echo '邮件发送失败';
}
?>
以上就是使用AJAX实现reCAPTCHA在PHP中发送邮件的基本步骤。请注意,这只是一个简单的示例,实际应用中可能需要更多的错误处理和安全措施。另外,推荐的腾讯云相关产品和产品介绍链接地址可以根据具体需求选择合适的产品,例如腾讯云的邮件推送服务、云函数等。
领取专属 10元无门槛券
手把手带您无忧上云