未捕获的错误:找不到类'PHPMailer'

Bab*_*Boy 2 php phpmailer

我知道有很多关于这个问题的线索,但我不能让它工作,我已经尝试了一切!phpmailer下载中没有autoload.php,我被卡住了.

请帮助,即使我已经链接了所需的文件,这个错误"类'phpmailer'找不到"仍然出现.Xampp正在运行.所有邮件文件都在PHPMailer文件夹中(其中包含文件夹src /,其中包含我链接的那5个文件).提前致谢!

<!--Contact Starts-->
        <div class="container contactform center">
            <h2 class="text-center  wowload fadeInUp"></h2>
            <div class="row wowload fadeInLeftBig">      
                  <div class="col-sm-6 col-sm-offset-3 col-xs-12">
                  <form method="post" action="index.php">
                    <input type="text" placeholder="Nombre" name="nombre" required>
                    <input type="email" placeholder="Email" name="email" required>
                    <input type="text" placeholder="Móvil" name="movil" required>
                    <textarea rows="5" placeholder="Mensaje" name="mensaje" required></textarea>
                    <button class="btn btn-danger" type="submit" name="sendBtn"><i class="fa fa-paper-plane"></i> Send</button>
                  </form>
                  </div>
            </div>
        </div>
    </div>
    <!--Contact Ends-->

<?php

if(isset($_POST["sendBtn"])){
    require "PHPMailer/src/PHPMailer.php";
    require "PHPMailer/src/OAuth.php";
    require "PHPMailer/src/SMTP.php";
    require "PHPMailer/src/POP3.php";
    require "PHPMailer/src/Exception.php";

    //Create a new PHPMailer instance

    $mail = new PHPMailer();

    //Tell PHPMailer to use SMTP

    $mail->isSMTP();


    //Enable SMTP debugging

    // 0 = off (for production use)

    // 1 = client messages

    // 2 = client and server messages

    $mail->SMTPDebug = 2;



    //Set the hostname of the mail server

    $mail->Host = 'smtp.gmail.com';

    // use

    // $mail->Host = gethostbyname('smtp.gmail.com');

    // if your network does not support SMTP over IPv6

    //Set the SMTP port number - 587 for authenticated TLS, a.k.a. RFC4409 SMTP submission

    $mail->Port = 587;

    //Set the encryption system to use - ssl (deprecated) or tls

    $mail->SMTPSecure = 'tls';

    //Whether to use SMTP authentication

    $mail->SMTPAuth = true;

    //Username to use for SMTP authentication - use full email address for gmail

    $mail->Username = "xxx@gmail.com";

    //Password to use for SMTP authentication

    $mail->Password = "xxxxxx";

    //Set who the message is to be sent from

    $mail->setFrom($_POST["email"], $_POST["nombre"]);

    //Set who the message is to be sent to

    $mail->addAddress('xxx@gmail.com', 'John Doe');

    //Set the subject line

    $mail->Subject = 'PHPMailer GMail SMTP test';

    //Read an HTML message body from an external file, convert referenced images to embedded,

    //convert HTML into a basic plain-text alternative body

    $mail->msgHTML(file_get_contents('contents.html'), dirname(__FILE__));



    //Replace the plain text body with one created manually

    $mail->AltBody = $_POST["mensaje"] . '<br><p Móvil: '.$_POST["movil"].'</p>';


    //send the message, check for errors

    if (!$mail->send()) {

        echo "Mailer Error: " . $mail->ErrorInfo;

    } else {

        echo "Message sent!";

    }
}
Run Code Online (Sandbox Code Playgroud)

Roo*_*125 8

而不是这个:

 //Create a new PHPMailer instance
$mail = new PHPMailer();
Run Code Online (Sandbox Code Playgroud)

用这个 :

 //Create a new PHPMailer instance
$mail = new PHPMailer\PHPMailer\PHPMailer();
Run Code Online (Sandbox Code Playgroud)

  • 另一种方法是将 PHPMailer 的类名导入到您的命名空间中,例如使用 `use PHPMailer\PHPMailer\PHPMailer; $mail = new PHPMailer;` 自述文件中详细介绍了这两种方法。 (2认同)