我一直在努力使用这个电子邮件功能。所以基本上,我正在一个本地网站上为个人项目工作,我的电子邮件验证过程遇到了问题。我有框架来支持它,但不是发送电子邮件的方法;就是这就是它。
我有两个功能,'注册'和' registerEmail ',我想要一起工作。 '注册'是自我解释的;它通过注册过程处理所有内容,而' registerEmail '发送用户收到的电子邮件,以便通过提供的链接激活他们的帐户。
当我尝试在' register '中运行' registerEmail '时出现问题,它根本就没有...注册。 ' register '函数按预期工作,并将用户添加到表中,但不“发送”任何电子邮件。然而,' registerEmail '函数不是问题,因为如果我独立调用它,它的工作完全正常......我已经尝试将这两个函数组合在绝望之外(没有发送一个电子邮件),似乎我在我的智慧结束。
以下是两个提到的功能:
public function register($array){
....
all of the password and query stuff happens here
....
$stmt->bind_param('ssssssiss', $userName, $password, $salt, $email, $firstName, $lastName, $today, $activationCode, $active);
$stmt->execute();
}else{
printf("Prepared statement error: %s\n", $this->connection->error);
}
if($stmt->affected_rows == 1){
return 1;
}
$stmt->close();
#This part is the fault that I cannot pinpoint, it doesn't actually do anything.
$this->registerEmail($userName, $email, $firstName, $lastName, $activationCode);
}
}
public function registerEmail($userName, $email, $firstName, $lastName, $activateCode){
$to = $email;
$subject = 'Confirmation from Tangleball to ' . $userName;
$header = 'From: webmaster@example.com' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
$message = '<html><head><title>Email verification</title></head><body>';
$message .= 'Hi ' . $firstName . $lastName . '! Your account, username "' . $userName . '", at place needs to be confirmed before you can log in, just <a href="http://127.0.0.1/place/index.php?activate=' . $activateCode . '">click here</a> to activate your place account. </body></html>';
#$message = wordwrap($message, 70, "\r\n");
$sentmail = mail($to, $subject, $message, $header);
}
我正在使用a local mail server来“捕获”正在发送的电子邮件,因此,如果我调用我的registerEmail函数,它实际上会将电子邮件“发送”给“用户”。
我很茫然,任何人都可以在我的东西上挖洞吗?
答案 0 :(得分:0)
您应该从
中删除行return 1;
if($stmt->affected_rows == 1){
return 1;
}
它会起作用。
答案 1 :(得分:0)