Failed opening required 'PHPMailer-master/PHPMailerAutoload.php' (include_path='.:/usr/share/pear:/usr/share/php')

…衆ロ難τιáo~ 提交于 2019-12-31 07:41:44

问题


I have a hosting server where i have written a php code which is giving me an error, i cant access php.ini as its a hosting server to change anythng

Error : Fatal error: require(): Failed opening required 'PHPMailer-master/PHPMailerAutoload.php' (include_path='.:/usr/share/pear:/usr/share/php') in /home/vhosts/evoting.freevar.com/vote/mailtest.php on line 2

PHP Code:

<?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!";
        }

?>

I read related post on stackoverflow, but didnt had success yet. Thanks in advance!


回答1:


You could check your current working directory, like this:

echo getcwd();

If you do so, you will see which is your active folder. The next thing you need to do is to check whether there is a PHPMailer-master folder inside your active folder (case-sensitive if you are using Linux). If it does not exist, then you will need to point to the right location instead or to create the folder and copy the file(s) into it. If it exists, check whether you have the necessary privileges and whether there is a file called PHPMailerAutoload.php inside that folder (again, case-sensitive if you are using Linux).




回答2:


This isn't rocket science - the error message is very clear - you just need to use the correct path to the autoloader (and the rest of the PHPMailer files), wherever that is for your server. No need to edit php.ini.



来源:https://stackoverflow.com/questions/37639478/failed-opening-required-phpmailer-master-phpmailerautoload-php-include-path

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!