Неустранимая ошибка: класс «PHPMailer» не найден

  • Я попытался: include_once('C:\Inetpub\wwwroot\php\PHPMailer\PHPMailerAutoload.php');

Неустранимая ошибка: класс «PHPMailer» не найден в C: \ Inetpub \ wwwroot \ php \ index.php в строке 151

Я PHPMailerAutoload.php в тот же каталог, что и мой скрипт.

Может кто-то помочь мне с этим ?

Не похоже, что все файлы, необходимые для использования этого класса, присутствуют. Я бы начал:

  1. Загрузите пакет из https://github.com/PHPMailer/PHPMailer , нажав кнопку «Загрузить ZIP» в правом нижнем углу страницы.
  2. извлекать zip-файл
  3. загрузите языковой пакет, class.phpmailer.php, class.pop3.php, class.smtp.php и PHPMailerAutoload.php все в один и тот же каталог на своем сервере, мне нравится создавать каталог на сервере phpmailer для размещения всех из них в.
  4. Включите класс в свой PHP-проект: require_once('phpmailer/PHPMailerAutoload.php');

Я предлагаю вам посмотреть на composer . https://getcomposer.org Composer упрощает получение сторонних библиотек и использует один автозагрузчик для всех. Он также стандартизирует, где расположены все ваши зависимости, а также некоторые возможности автоматизации.

Загрузите https://getcomposer.org/composer.phar в C:\Inetpub\wwwroot\php

Удалите C:\Inetpub\wwwroot\php\PHPMailer\ .

Используйте composer.phar для получения пакета phpmailer с помощью командной строки для выполнения

 cd C:\Inetpub\wwwroot\php php composer.phar require phpmailer/phpmailer 

По завершении он создаст C:\Inetpub\wwwroot\php\vendor вместе со всеми файлами phpmailer и создаст автозагрузчик.

Далее в вашем основном файле конфигурации проекта вам необходимо включить файл автозагрузки.

require_once 'C:\Inetpub\wwwroot\php\vendor\autoload.php';

vendor\autoload.php будет включать в себя информацию для использования $mail = new \PHPMailer;

Дополнительную информацию о пакете PHPMailer можно найти на странице https://packagist.org/packages/phpmailer/phpmailer

Это просто пространство имен. Посмотрите примеры для справки – вам нужно либо использовать класс с именами, либо ссылаться на него, например:

 use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; //Load composer's autoloader require 'vendor/autoload.php'; 

Просто прочитав то, что вы написали, вам также нужно добавить файл class.phpmailer.php в свой каталог.

PHPMailerAutoload должен находиться в той же папке, что и class.phpmailer.php

Это код PHPMailerAutoload который я предполагаю:

  $filename = dirname(__FILE__).DIRECTORY_SEPARATOR.'class.'.strtolower($classname).'.php';