Файл автозагрузки ошибки PHP MAILER

У меня проблема с php почтовым. Так что в уроках он говорит о файле автозагрузки, но когда я загружаю папку phpmailer, этого файла нет, нужно ли мне его создавать?

так что я все еще пытаюсь с файлом phpmailer.php в папке src, но это приводит меня к ошибке, вот ошибка:

Fatal error: Class 'PHPMailer' not found in C:\wamp64\www\site ajft\contact.php on line 14

вот мой код:

    <?php
use League\OAuth2\Client\Grant\RefreshToken;
ini_set("display_errors", 1); 
error_reporting(E_ALL);

 $msg ="";
 if(isset($_POST['submit'])) {
require 'phpmailer/src/PHPMailer.php';

    function sendmail($to, $from, $fromname, $tel , $body) {
    *(line 14)  $mail = new PHPMailer ;
        $mail->setFrom($from, $fromname);
        $mail->addAddress($to);
        $mail->Subject = 'Contact Form - Email';
        $mail->Body = $body;
        //$mail->isHTML(isHTML: false);


        return $mail->send();
    }

    $name = $_POST['nom'];
    $email = $_POST['mail'];
    $tel = $_POST['objet'];
    $body = $_POST['message'];

    if (sendmail('Myemail@lf.com', $email, $name , $tel, $body)) {
            $msg = 'email envoyé';
        } else
            $msg = 'email non envoyé';

    }

    ?>

если кто-нибудь может сказать мне, что делать, чтобы решить эту проблему, заранее спасибо

1 ответ

Вам не хватает важных вещей. Также удалите require 'phpmailer/src/PHPMailer.php';

autoload.php создан композитором. У PHPMailer больше нет собственного автозагрузчика, потому что composer делает его намного лучше. Если вы не хотите использовать composer, вы можете загрузить файлы вручную, как описано в файле readme.

Композитор путь:

  <?php
    // Import PHPMailer classes into the global namespace
    // These must be at the top of your script, not inside a function
    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\Exception;

    //Load composer's autoloader
    require 'vendor/autoload.php';

Ручной путь:

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

require 'path/to/PHPMailer/src/Exception.php';
require 'path/to/PHPMailer/src/PHPMailer.php';
require 'path/to/PHPMailer/src/SMTP.php';

Подумайте об использовании предложенного сценария php.

Другие вопросы по тегам