PHPMailer说这个类没有';不存在,但它确实存在

PHPMailer说这个类没有';不存在,但它确实存在,php,phpmailer,Php,Phpmailer,我快要爆炸了!我已经一步一步地遵循了(如下图所示),但它仍然不适合我 require_once'configurations/phpmailer/phpmailerautoad.php'; $mail=新的PHPMailer; //$mail->SMTPDebug=3;//启用详细调试输出 $mail->isSMTP();//将邮件程序设置为使用SMTP $mail->Host='smtp1.example.com;smtp2.example.com“;//指定主SMTP服务器和备份SMTP服

我快要爆炸了!我已经一步一步地遵循了(如下图所示),但它仍然不适合我

require_once'configurations/phpmailer/phpmailerautoad.php';
$mail=新的PHPMailer;
//$mail->SMTPDebug=3;//启用详细调试输出
$mail->isSMTP();//将邮件程序设置为使用SMTP
$mail->Host='smtp1.example.com;smtp2.example.com“;//指定主SMTP服务器和备份SMTP服务器
$mail->SMTPAuth=true;//启用SMTP身份验证
$mail->Username=user@example.com';                 // SMTP用户名
$mail->Password='secret';//SMTP密码
$mail->SMTPSecure='tls';//启用TLS加密,也接受'ssl'
$mail->Port=587;//要连接到的TCP端口
$mail->setFrom('from@example.com","梅勒",;
$mail->addAddress('joe@example.net“,”乔用户“;//添加收件人
$mail->addAddress('ellen@example.com');               // 名称是可选的
$mail->addReplyTo('info@example.com","信息",;
$mail->addCC('cc@example.com');
$mail->addBCC('bcc@example.com');
$mail->addAttachment('/var/tmp/file.tar.gz');//添加附件
$mail->addAttachment('/tmp/image.jpg','new.jpg');//可选名称
$mail->isHTML(正确);//将电子邮件格式设置为HTML
$mail->Subject='主题在这里';
$mail->Body='这是以粗体显示的HTML邮件正文!';
$mail->AltBody='这是非HTML邮件客户端的纯文本正文';
如果(!$mail->send()){
echo“无法发送消息”;
回显“邮件错误:”。$mail->ErrorInfo;
}否则{
回音“消息已发送”;
}
请注意我已经从GitHub复制并粘贴了代码,没有更改用户名和密码!如果上面的代码有效,我就不会得到致命错误
uncaughterror:Class'PHPMailer'未在…
中找到

我在我的其他项目上完全按照图片和上面的代码(当然还有一些小改动)这样做了,在这些项目上我一点问题都没有


我错过了什么?怎么了?

这是自动加载器功能:

function PHPMailerAutoload($classname)
{
    //Can't use __DIR__ as it's only in PHP 5.3+
    $filename = dirname(__FILE__).DIRECTORY_SEPARATOR.'class.'.strtolower($classname).'.php';
    if (is_readable($filename)) {
        require $filename;
    }
}

在那里粘贴几个回音或断点,以便检查a)它是否正在运行,b)它是否正在尝试加载类。如果类不存在且不可读,则此函数将不会尝试加载该类(从而在尝试使用该类时导致“未找到类”错误),因此请检查您的所有权和权限。

PHPMailerAutoload*(
require\u once
提供绝对路径)

整个错误是什么message@Dagon:我只显示错误消息的重要部分。其余部分是错误所在的文件。没别的了,不过好了。接下来:
致命错误:未捕获错误:在Z:\Google Drive\Hemsidor\min ekonomi rebuild\index.php:283堆栈跟踪:#0{main}中找不到类“PHPMailer”在第283行的Z:\Google Drive\Hemsidor\min ekonomi rebuild\index.php中抛出
index.php
文件和
283
?@MarcoAurélioDeleu
$mail=new PHPMailer。我以为您知道:P和
index.php
文件在哪里?好的,在
minekonomi rebuild
文件夹的根目录中。如果你在
283
上遇到错误,因为找不到类,但在282上没有,当你实际需要加载程序文件时,我们似乎没有足够的帮助,或者是一些坏的因果报应。这周你有没有伤害任何人?谢谢!我首先尝试注释掉
是可读的()
行(上面代码中的第5行和第7行)。之后,我收到了一封无法发送的
邮件。邮件程序错误:SMTP connect()失败
,后面是疑难解答URL。问题是我在Windows上(如果您不在
C:
上,那么默认情况下所有内容都是可读的,而我不是(请参见问题中的图片))。如果我去我的其他项目使用你的功能,他们会工作<代码>echo$filename在<代码>上方,如果(is_reada…
打印
class.phpmailer.php
文件及其绝对路径。之后,我的问题中的错误消息。我似乎记得有人在Windows上遇到问题,如果它位于共享卷上,那么它在Windows上可读吗?SMTP连接失败表明这就是发生在你身上的情况,对此进行注释可以解决问题进入下一个问题-故障排除指南提供了有关如何诊断该问题的更多信息,这里还有许多问题可以解决。是的。我的项目位于共享驱动器上。它位于我连接到的NAS上。希望这是唯一的问题:)我现在更冷静了。非常感谢你的帮助。
Z:\Google Drive\Hemsidor\min ekonomi rebuild\configurations/phpmailer/phpmailerautoad.php
。你为什么需要它?我的意思是你应该在require_中使用绝对路径一次,而不是我需要你的abs。路径:DAha!^^下次请这么说,而不仅仅是说“提供绝对路径”。为什么我需要你的绝对路径?:D逻辑是这个世界上的头号武器。现在没关系,它是否使用绝对路径?你的服务器是否对phpmailerautoad所在的路径具有访问读/写权限?
function PHPMailerAutoload($classname)
{
    //Can't use __DIR__ as it's only in PHP 5.3+
    $filename = dirname(__FILE__).DIRECTORY_SEPARATOR.'class.'.strtolower($classname).'.php';
    if (is_readable($filename)) {
        require $filename;
    }
}