未收到PHP验证邮件

时间:2018-01-29 18:18:56

标签: php html email

我写了一个基本的HTML表单,其中包含很少的条目供用户输入和注册。现在代码需要以这样的方式工作:注册后,它必须在使用令牌给出的验证链接输入的电子邮件ID上发送验证邮件。 该代码看起来很好,我没有任何错误,但我没有收到任何带有验证链接的电子邮件,既不在收件箱中也不在垃圾邮件中。

Register.php的Php代码:

 <?php
$msg = "";
use PHPMailer\PHPMailer\PHPMailer;

if (isset($_POST['submit'])) {
    $con = new mysqli('localhost', 'root', '', 'research_phpEmailConfirmation');

    $name = $con->real_escape_string($_POST['name']);
    $email = $con->real_escape_string($_POST['email']);
    $password = $con->real_escape_string($_POST['password']);
    $cPassword = $con->real_escape_string($_POST['cPassword']);

    if ($name == "" || $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 (name,email,password,isEmailConfirmed,token)
                VALUES ('$name', '$email', '$hashedPassword', '0', '$token');
            ");

            include_once "PHPMailer/PHPMailer.php";

            $mail = new PHPMailer();
            $mail->setFrom('sanchit****@.com');
            $mail->addAddress($email, $name);
            $mail->Subject = "Please verify email!";
            $mail->isHTML(true);
            $mail->Body = "
                Please click on the link below:<br><br>

                <a href='http://codingpassiveincome.com/PHPEmailConfirmation/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!";
        }
    }
}
?>

Register.php的Html代码:

<body>
<div class="container" style="margin-top: 100px;">
    <div class="row justify-content-center">
        <div class="col-md-6 col-md-offset-3" align="center">

            <?php if ($msg != "") echo $msg . "<br><br>" ?>

            <form method="post" action="register.php">
                <input class="form-control" name="name" placeholder="Name..."><br>
                <input class="form-control" name="email" type="email" placeholder="Email..."><br>
                <input class="form-control" name="password" type="password" placeholder="Password..."><br>
                <input class="form-control" name="cPassword" type="password" placeholder="Confirm Password..."><br>
                <input class="btn btn-primary" type="submit" name="submit" value="Register">
            </form>

0 个答案:

没有答案