到目前为止这是我的代码
function send_email() {
$email = $_POST['signup-email'];
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$to = "the1nz4ne@hotmail.com";
$subject = "Email from
RateMyLife.com"; $body = "Hi ,$firstname $lastname, this is an email from RateMyLife.com"; $headers = "From:info@iphoneappgmz.com";
mail($to, $subject, $body, $headers);
exit();
}
$existingSignup = mysql_query("SELECT * FROM signups WHERE signup_email_address='$email'");
if(mysql_num_rows($existingSignup) < 1){
$date = date('Y-m-d');
$time = date('H:i:s');
$password = md5($passwd);
$insertSignup = mysql_query("INSERT INTO signups (signup_email_address, signup_date, signup_time, firstname, lastname, password, year, day, month, gender) VALUES ('$email','$date','$time','$firstname', '$lastname', '$password', '$year', '$day', '$month', '$gender')");
if($insertSignup){ //if insert is successful
send_email();
}
电子邮件未发送...
谢谢我无法弄清问题是什么。
答案 0 :(得分:2)
可能有很多原因......你在Windows或linux服务器上吗?
检查phpinfo以查看sendmail是否配置正确(sendmail_path)。
如果配置正确,请检查smtp服务器日志消息中未发送电子邮件的原因,请查看此更多详细信息:http://pt.php.net/manual/en/function.mail.php#101588
如果您没有正确配置sendmail,您仍然可以使用某个SMTP服务器中的帐户发送电子邮件。为此,您应该使用PHP库来方便您的工作,例如,检查: http://swiftmailer.org/
另外,测试这个php代码给自己发送电子邮件,看看它是否有效:
mail('YOUREMAIL@EXAMPLE.com', 'My Subject', 'test message');
答案 1 :(得分:0)
您是否检查过两次查询是否成功?
$existingSignup = mysql_query(...) or die(mysql_error());
$insertSignup = mysql_query(...) or die(mysql_error());
如果失败,则返回布尔值FALSE。如果第一个失败,那么mysql_num_rows()
将失败,因为它需要一个mysql结果句柄,而不是一个布尔值。如果第二个失败,则$ insertSignup将为false,而if()
将永远不会触发。