注册后通过PHPMailer发送电子邮件

问题描述 投票:0回答:1

我已经正确安装了PHPMailer,但是我现在正试图使用​​它在用户创建帐户后发送电子邮件,但我无法弄清楚自己在做什么错。

数据已插入数据库,但此后未发送电子邮件

Ps:我创建此基本注册表只是为了对其进行测试。

我输入了注册码:

<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require $_SERVER['DOCUMENT_ROOT'] . '/mail/Exception.php';
require $_SERVER['DOCUMENT_ROOT'] . '/mail/PHPMailer.php';
require $_SERVER['DOCUMENT_ROOT'] . '/mail/SMTP.php';

if(isset($_POST['registo'])){

    require 'dbh.inc.php';

$username = $_POST['uid'];
$email = $_POST['email'];
$residencia = $_POST ['res'];
$tel = $_POST['tel'];

        // GETS USER IP
       $ip = $_SERVER['REMOTE_ADDR'];

            // GENERATES PASSWORD
            function genPassword($length = 6) {
                $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
                $count = mb_strlen($chars);

                for ($i = 0, $result = ''; $i < $length; $i++) {
                    $index = rand(0, $count - 1);
                    $result .= mb_substr($chars, $index, 1);
                    $result = strtoupper($result);
                }
                return $result;
            }

$password = genPassword();

// INSERTS THE VALUES ON TABLE

        $stateUser = "Active";
        $sql = "INSERT INTO users_tmp (ipUser, cellUser, placeUser, uidUsers, emailUsers, pwdUsers, dataUser, stateUser) VALUES ( ?, ?, ?, ?, ?, ? , now(), ?)";

        $stmt = mysqli_stmt_init($conn);
        if(!mysqli_stmt_prepare($stmt, $sql)){
            header("Location: ../registo-gratis.php?error=sqlerror");
            exit();

        } else {

            mysqli_stmt_bind_param($stmt, "sssssss",  $ip , $tel, $residencia, $username, $email, $password, $stateUser);
            mysqli_stmt_execute($stmt);

这是我的电子邮件代码,我确实插入了[[之后注册代码:

$mail = new PHPMailer(); // Settings $mail->IsSMTP(); $mail->CharSet = 'UTF-8'; $mail->Host = "ic-producoes.com"; $mail->Port = 465; $mail->SMTPSecure = 'ssl'; $mail->SMTPAuth = true; $mail->SMTPDebug = 0; $mail->Username = '[email protected]'; // email $mail->Password = 'mypassword'; // password $mail->addAddress($email); // Content $mail->isHTML(true); $mail->Subject = 'My subject'; $mail->Body = 'This is the HTML message body <b>in bold!</b>'; $mail->send(); echo"Account created "; }} else{ header("Location: ../registo-gratis.php?error=sqlerror"); exit(); }
php phpmailer
1个回答
-1
投票
尝试将var_dump()放在$ mail-> send()的行中,然后死掉,就像这样:var_dump($ mail-> send()); die;可能会收到一些有关PHPMailer状态的报告。
© www.soinside.com 2019 - 2024. All rights reserved.