无法打开所需的PHPMailer-master / PHPMailerAutoload.php' (包含路径=':在/ usr /共享/梨:在/ usr /共享/ PHP')

时间:2016-06-05 07:26:42

标签: php phpmailer

我有一个托管服务器,我写了一个PHP代码给我一个错误,我不能访问php.ini作为其托管服务器来改变任何

  

错误:致命错误:require():无法打开所需的PHPMailer-master / PHPMailerAutoload.php'第2行的/home/vhosts/evoting.freevar.com/vote/mailtest.php中的(include_path ='。:/ usr / share / pear:/ usr / share / php')

PHP代码:

<?php
    require 'PHPMailer-master/PHPMailerAutoload.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;
        //Ask for HTML-friendly debug output
        $mail->Debugoutput = 'html';
        //Set the hostname of the mail server
        $mail->Host = 'smtp.gmail.com';
        //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 = "sample@gmail.com";
        //Password to use for SMTP authentication
        $mail->Password = "password";
        //Set who the message is to be sent from
        $mail->setFrom('sample@gmail.com', 'Evoting System');
        //Set an alternative reply-to address
        $mail->addReplyTo('sample@gmail.com', 'Evoting System');
        //Set who the message is to be sent to
        $mail->addAddress('azaz3@gmail.com', '');
        //Set the subject line
        $mail->Subject = 'EVoting Otp ';
        //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('23bj34');
        //Replace the plain text body with one created manually
        $mail->AltBody = 'sddsfsd23';
        //Attach an image file
        // $mail->addAttachment('images/phpmailer_mini.gif');

        // send the message, check for errors
        if (!$mail->send()) {
             echo "Mailer Error: " . $mail->ErrorInfo;
        } else {
     echo "Message sent!";
        }

?>

我在stackoverflow上阅读了相关文章,但还没有成功。提前谢谢!

2 个答案:

答案 0 :(得分:1)

这不是火箭科学 - 错误信息非常清楚 - 您只需要使用自动加载器(以及其余PHPMailer文件)的正确路径,无论您的服务器在哪里。无需编辑php.ini。

答案 1 :(得分:1)

您可以检查当前的工作目录,如下所示:

echo getcwd();

如果您这样做,您将看到哪个是您的活动文件夹。您需要做的下一件事是检查活动文件夹中是否有PHPMailer-master文件夹(如果您使用的是Linux,则区分大小写)。如果它不存在,那么您将需要指向正确的位置或创建文件夹并将文件复制到其中。如果存在,请检查您是否具有必要的权限以及该文件夹中是否存在名为PHPMailerAutoload.php的文件(如果您使用的是Linux,则再次区分大小写)。