由于错误,我无法收到确认电子邮件。这是我的PhpMailer错误。
致命错误:未捕获错误:在C:\ xampp \ htdocs \ Web \ PHPMailer \ PHPMailer.php:1703中找不到类'PHPMailer \ PHPMailer \ Exception':堆栈跟踪:#0 C:\ xampp \ htdocs \ Web \ PHPMailer \ PHPMailer.php(1515):PHPMailer \ PHPMailer \ PHPMailer-> mailSend('Date:Wed,25 J ...','\ r \ n ...')#1 C:\ xampp \ htdocs \ pificy \ PHPMailer \ PHPMailer.php(1352):PHPMailer \ PHPMailer \ PHPMailer-> postSend()#2 C:\ xampp \ htdocs \ Web \ 1r.php(43):PHPMailer \ PHPMailer \ PHPMailer-> send()#3 {main}在第1703行的C:\ xampp \ htdocs \ pificy \ PHPMailer \ PHPMailer.php中引发。
下面是出现错误的行。我该怎么办?
if (!$result) {
throw new Exception($this->lang('instantiate'), self::STOP_CRITICAL);
}
更具体地说,这是我的注册文件代码:
<?php
$msg = "";
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
if (isset($_POST['submit'])) {
$con = new mysqli('localhost', 'Owner', '', 'Pificy');
$username = $con->real_escape_string($_POST['username']);
$email = $con->real_escape_string($_POST['email']);
$password = $con->real_escape_string($_POST['password']);
$cPassword = $con->real_escape_string($_POST['cPassword']);
if ($username == "" || $email == "" || $password != $cPassword)
$msg = "Please check your inputs!";
else {
$sql = $con->query("SELECT id FROM users WHERE email='$email'");
if ($sql->num_rows > 0) {
$msg = "Email already exists in the database!";
} else {
$token 'qwertzuiopasdfghjklyxcvbnmQWERTZUIOPASDFGHJKLYXCVBNM0123456789!$/()*';
$token = str_shuffle($token);
$token = substr($token, 0, 10);
$hashedPassword = password_hash($password, PASSWORD_BCRYPT);
$con->query("INSERT INTO users (username,email,password,isEmailConfirmed,token)
VALUES ('$username', '$email', '$hashedPassword', '0', '$token');
");
include_once "PHPMailer/PHPMailer.php";
$mail = new PHPMailer();
$mail->setFrom('NotForUtoKnow@gmail.com');
$mail->addAddress($email, $username);
$mail->Subject = "Please verify email!";
$mail->isHTML(true);
$mail->Body = "
Please click on the link below:<br><br>
<a href='http://Upcoming.com/Upcoming/confirm.php?email=$email&token=$token'>Click Here</a>
";
if ($mail->send())
$msg = "You have been registered! Please verify your email!";
else
$msg = "Something wrong happened! Please try again!";
}
}
}
?>
答案 0 :(得分:2)
就像您包括在内一样:
include_once "PHPMailer/PHPMailer.php";
您还需要包括Exception.php:
include_once "PHPMailer/Exception.php";