Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP Mailer Fatal error: Class 'SMTP' not found

Tags:

php

Not sure why I am getting this fatal php error because all my files and classes are setup correctly. Any help would be greatly appreciated.

contact.php is here:

  <?
        session_start();
        if (!isset($_SERVER['DOCUMENT_ROOT'])) {
            $_SERVER['DOCUMENT_ROOT'] = substr($_SERVER['SCRIPT_FILENAME'], 0, 0-strlen($_SERVER['PHP_SELF']));
        }

        if(strpos($_SERVER["SERVER_SOFTWARE"],"IIS") > 0) {
            define("PATH_SLASH","\\");
            define("PATH_SEPARATOR",";");
        }
        else {
            define("PATH_SLASH","/");
            define("PATH_SEPARATOR",":");
        }

        define("CONFIG",$_SERVER['DOCUMENT_ROOT'] .  PATH_SLASH . "config" . PATH_SLASH . "config.xml");
        require "classes/clsconfig.inc.php";
        require "classes/class.phpmailer.php";

    $config = new gxconfig();

    $email = true;

    $callornot = "";
        if (isset($_POST["submit"])) {
            if(isset($_POST['callme'])){
                $callornot = "yes";
            }
            else{
                $callornot = "No";
            }

            $message_participant = "<h2>Comments from the website</h2>
            Name : {$_POST['name']}<br / >
            Company : {$_POST['company']}<br / >
            Industry : {$_POST['industry']}<br / >
            Email : {$_POST['email']}<br / >
            Telephone : {$_POST['phone']}<br / >
            Wants a call : ". $callornot ."<br / >
            Message : {$_POST['comment']}<br / >";
            $svrcourriel = new PHPMailer();
            $svrcourriel->Mailer = "smtp";
            $svrcourriel->Host = $config->smtp;
            $svrcourriel->From = $_POST['email'];
            $svrcourriel->Port = 25;
            $svrcourriel->IsHTML(true);
            $svrcourriel->FromName = $_POST['name'];
            $svrcourriel->Subject = "Comments";
            $svrcourriel->Body = $message_participant;

            $svrcourriel->AddAddress("[email protected]","Website");

            $svrcourriel->Send();

            if($svrcourriel->Send()){
                $message = "Message Sent<br />Thank you!<br />The Administration";
                $email = false;
            }
            else{
                $message = "connection error";
            }


        }

    ?>
    <meta name="gmapkey" content="ABQIAAAA1RcXJTFbfpMdioOkhlE_ZxTJuH3LtUz3ux7bUwdjaRGyO6SO_hQPu8VtGAAEQbfqN_dX85CzKFIVLg" />

    <script type="text/javascript" src="js/gmapez-2.5.js"></script>
    <table width="971" border="0" cellspacing="0" cellpadding="0">
    <tr>
        <td align="right">
            <table width="971" border="0" cellspacing="0" cellpadding="0">
            <tr>
                <td width="11"><img src="images/misc/cnr-bcl2.jpg" width="11" height="41" alt="" /></td>
                <td align="left" style="background: url('images/backgrounds/bc.jpg') repeat-x top left;padding: 10px;">
                    <span style="color: #FFFFFF;font-family: arial; font-size: 15px;font-weight: bold;">
                        Home  <span style="color: #c0d3e9;">&gt;&gt;</span>   
                        Contact Us
                    </span> 
                </td>
                <td width="11"><img src="images/misc/cnr-bcr2.jpg" width="11" height="41" alt="" /></td>
            </tr>
            </table>
            <table width="971" border="0" cellspacing="0" cellpadding="0">
            <tr>
                <td width="11"><img src="images/misc/shad-botleft2.jpg" width="11" height="12" alt="" /></td>
                <td width="100%" style="background: url('images/misc/shad-bg2.jpg') repeat-x top left;"></td>
                <td width="11"><img src="images/misc/shad-botright2.jpg" width="11" height="12" alt="" /></td>
            </tr>
            </table>
        </td>
    </tr>
    <tr>
        <td width="971" align="center">

        </div>
            <div style="box-shadow: 7px 7px 7px #888;padding: 13px;width: 931px;background-color: #d8e1e9;color: #373737;font-family: arial;font-size: 12px;text-align: left;" class="with_corners">

                <p style="font-size: 16px;font-weight: bold;">Thank you for your interest in LCRISQ.</p><br />
                <a class="standard" href="mailto:[email protected]">[email protected]</a><br />

                            Tel: 310.406.5684 <br />
                            Fax: 310.988.2913 <br /> <br/>

                Aberdeen, United Kingdom ABIOITY office<br />
                Tel: +44 (0) 1583452246<br /> <br/>

                            Albuquerque, New Mexico 87123 Office <br/>
                            Tel: 1 (505) 301-6554 <br />


                <div id="theModal">
    <div class="GMapEZ" style="width: 570px; height: 470px;">
      <a href="https://maps.google.com/maps?q=abq+nm&hl=en&ll=35.110922,-106.609955&spn=0.452732,0.617294&sll=35.09864,-106.570284&sspn=0.452801,0.617294&hnear=Albuquerque,+Bernalillo,+New+Mexico&t=m&z=11">
      </a>
      <a href="https://maps.google.com/maps?client=ubuntu&amp;channel=cs&amp;q=aberdeen+uk&amp;ie=UTF8&amp;hq=&amp;hnear=Aberdeen,+Aberdeen+City,+United+Kingdom&amp;t=m&amp;z=12&amp;iwloc=A&amp;ll=57.149717,-2.094278&amp;source=embed">
      </a>
    </div>
        </div>



        <div class="colLeftOnly"><h2>E-mail us:</h2></div>
                    <form id='form' action='contact.php' method='post' name="form" onsubmit="javascript: return performCheck('form', rules, 'innerHtml');" >
                        <div id='errorsDiv'></div>
                        Name*<br />
                        <input class='input' name='name' type='text' value='' maxlength='40' />&#160;<br />&#160;<br />
                        Company<br />
                        <input class='input' name='company' type='text' value='' maxlength='40' />&#160;<br />&#160;<br />
                        Industry<br />
                        <select name='industry' size="1">
                            <option value="0">Select:</option>
                            <option value="Advertising">Advertising</option>
                            <option value="Aerospace">Aerospace</option>
                            <option value="Automotive">Automotive</option>
                            <option value="Aviation">Aviation</option>
                            <option value="Banking / Financial">Banking / Financial</option>
                            <option value="Building Materials">Building Materials</option>
                            <option value="Chemicals">Chemicals</option>
                            <option value="Communications">Communications</option>
                            <option value="Computers / Data / Software">Computers / Data / Software</option>
                            <option value="Construction">Construction</option>
                            <option value="Consumer Products">Consumer Products</option>
                            <option value="Defense">Defense</option>
                            <option value="Education">Education</option>
                            <option value="Electronics">Electronics</option>
                            <option value="Energy">Energy</option>
                            <option value="Engineering">Engineering</option>
                            <option value="Entertainment">Entertainment</option>
                            <option value="Finance">Finance</option>
                            <option value="Food &#38; Beverage">Food &#38; Beverage</option>
                            <option value="Fire &#38; Rescue Service">Fire &#38; Rescue Service</option>
                            <option value="Gas">Gas</option>
                            <option value="Government - Federal Civilian">Government - Federal Civilian</option>
                            <option value="Government - Federal Military">Government - Federal Military</option>
                            <option value="Government - State / Provincial">Government - State / Provincial</option>
                            <option value="Government - Local">Government - Local</option>
                            <option value="Healthcare">Healthcare</option>
                            <option value="Higher Education">Higher Education</option>
                            <option value="Hospitality &#38; Leisure">Hospitality &#38; Leisure</option>
                            <option value="Industrial Machinery">Industrial Machinery</option>
                            <option value="Insurance">Insurance</option>
                            <option value="IT">IT</option>
                            <option value="Legal">Legal</option>
                            <option value="Manufacturing">Manufacturing</option>
                            <option value="Media">Media</option>
                            <option value="Non Profit">Non Profit</option>
                            <option value="Oil">Oil</option>
                            <option value="Pharmaceuticals">Pharmaceuticals</option>
                            <option value="Postal Service">Postal Service</option>
                            <option value="Public Sector">Public Sector</option>
                            <option value="Professional Services">Professional Services</option>
                            <option value="Real Estate">Real Estate</option>
                            <option value="Research">Research</option>
                            <option value="Retail / Wholesale">Retail / Wholesale</option>
                            <option value="Services">Services</option>
                            <option value="Shipping">Shipping</option>
                            <option value="Telecommunications">Telecommunications</option>
                            <option value="Transportation">Transportation</option>
                            <option value="Travel">Travel</option>
                            <option value="Utilities">Utilities</option>
                            <option value="Waste">Waste</option>
                            <option value="Oil & Gas">Oil & Gas</option>
                            <option value="Other">Other</option>
                        </select>&#160;<br />&#160;<br />
                        Phone*<br />
                        <input class='input' name='phone' type='text' value='' maxlength='40' />&#160;<br />&#160;<br />
                        Email*<br />
                        <input class='input' name='email' type='text' value='' maxlength='40' />&#160;<br />&#160;<br />
                        Comment<br />
                        <textarea class='input' name='comment' rows='5' cols='1'></textarea>&#160;<br />&#160;<br />
                        <input name='callme' type='checkbox' value='' /> I would like to have someone call me.&#160;<br />&#160;<br />
                        <input name='submit' type='submit' value='submit' />&#160;<br />&#160;<br />
                        *Required information. All submitted information will be considered confidential.
                    </form>
            </div>
            <br />

here is the class.phpmailer is here: http://pastebin.com/KsAwgd1c

here is the clsconfig.inc.php:

<?php
    class gxconfig {
        public $smtp;
        public $courriel;

        function __construct(){
            $config = new DOMDocument("1.0","utf-8");
            $config->load(CONFIG);
            $xmlPath = new DomXpath($config);

            $result = $xmlPath->query("/configuration/courriel/serveur");
            $this->smtp = $result->item(0)->nodeValue;

            $result = $xmlPath->query("/configuration/courriel/dossier");
            $this->courriel = $_SERVER['DOCUMENT_ROOT'] . str_replace( "/",PATH_SLASH,$result->item(0)->nodeValue);

        }
    }
?>
like image 249
foo Avatar asked Nov 05 '13 01:11

foo


1 Answers

You should not require class.phpmailer.php.

Replace: require "classes/class.phpmailer.php"; with require "PHPMailerAutoload.php"; and it will work just fine.

like image 148
Abbe Avatar answered Oct 14 '22 12:10

Abbe