带有集成PHP的reCAPTCHA

时间:2011-10-13 07:26:19

标签: php recaptcha phpmailer

我尝试使用reCaptcha并与php集成,因此如果代码正确,将发送电子邮件。 所以我的问题在这里,当我输入错误的代码时,消息显示错误的代码,这是正确的,但是当我输入正确的代码时,他们将转到成功的页面也正确但我没有收到任何电子邮件。

*我想也许是我把我的剧本放在了错误的地方(如果不这样的话)。

<?php
  require_once('recaptchalib.php');
  $privatekey = "xxxxxxxxxxxxxxxxxxxxxxxx";
  $resp = recaptcha_check_answer ($privatekey,
                                $_SERVER["REMOTE_ADDR"],
                                $_POST["recaptcha_challenge_field"],
                                $_POST["recaptcha_response_field"]);

if (!$resp->is_valid) {

 die ("The reCAPTCHA wasn't entered correctly. Go back and try it again." .
         "(reCAPTCHA said: " . $resp->error . ")");

  } else {

$full_name= $_POST["full_name"];
$email= $_POST["email"];
$address1= $_POST["address1"];
$address2= $_POST["address2"];
$postcode= $_POST["postcode"];
$city= $_POST["city"];
$state= $_POST["state"];
$country= $_POST["country"];
$telephone= $_POST["telephone"];
$month= $_POST["month"];
$birthday= $_POST["birthday"];
$birthyear= $_POST["birthyear"];

require_once('lib/class.phpmailer.php');

$mail             = new PHPMailer(); // defaults to using php "mail()"
$mail->SetFrom('ruslyrossi46@gmail.com');
$mail->AddReplyTo("ruslyrossi46@gmail.com");
$address = "ruslyrossi46@gmail.com";
$mail->AddAddress($address);
$mail->Subject    = "FLOW";
$mail->AltBody    = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
$mail->Body = "Sign Up Details<br><br> 
-------------------------------------------------------------<br>
First Name : $full_name<br>
Address : $address1<br>  
Alternate Address : $address2<br> 
Postcode : $postcode<br> 
State : $state<br> 
City : $city<br> 
Country : $country<br> 
Phone Number :  $telephone<br> 
Email : $email<br> 
Birth Of Day :  Day:$birthday  Month:$month Years:$birthyear<br> 

Thank You!<br>

------------------------------------------------------------<br>
";
  }

?>

1 个答案:

答案 0 :(得分:1)

你错过了

if($mail->Send())  
{ 
    echo 'sent'; 
}  
else  
{ 
    echo 'error'; 
}

在最后(作为最后一件事在其他内部)

这只是一个示例,可根据您的需要进行自定义。