2013-11-05 7 views
8

यह सुनिश्चित नहीं है कि मुझे यह घातक PHP त्रुटि क्यों मिल रही है क्योंकि मेरी सभी फ़ाइलें और कक्षाएं सही तरीके से सेटअप की गई हैं। किसी भी तरह की सहायता का स्वागत किया जाएगा। clsconfig.inc.php http://pastebin.com/KsAwgd1cPHP मेलर घातक त्रुटि: क्लास 'एसएमटीपी' नहीं मिला

यहाँ

है::

contact.php यहाँ है:

<? 
     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 /> 

यहाँ class.phpmailer यहाँ है

<?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); 

     } 
    } 
?> 
+0

नहीं हामी होने के लिए, लेकिन यह प्रासंगिक कोड पोस्ट करने के लिए सबसे अच्छा है, कि सभी HTML और XML सामान सिर्फ शोर है। – Phix

+0

PHPMailer क्लास में स्पष्ट रूप से SMTP क्लास शामिल/आवश्यकता नहीं है, जो कि PHPMailer प्रोजेक्ट का भी हिस्सा है। शायद यह एक एसपीएल autoloader परिभाषित होने की उम्मीद है, मुझे नहीं पता। लेकिन वैसे भी, आपको PHPMailer क्लास लोड होने से पहले SMTP क्लास की आवश्यकता होगी, और 'requ_once() 'की आवश्यकता होगी। शायद दूसरों को भी। –

+2

एसएमटीपी वर्ग https://github.com/Synchro/PHPMailer/blob/master/class.smtp।PHP –

उत्तर

30

आप नहीं करना चाहिए class.phpmailer.php की आवश्यकता है।

प्रतिस्थापित करें: require "classes/class.phpmailer.php";require "PHPMailerAutoload.php"; के साथ और यह ठीक काम करेगा।

+0

hi @adobe: अभी भी त्रुटि रहता है .. आपके उत्तर के साथ प्रयास करने के बाद .. – pcs

+0

@saina तो आपके कोड में कुछ और गलत है, इसे देखे बिना आपकी मदद नहीं कर सकता ... – Abbe

+0

आपके उत्तर के लिए धन्यवाद। यहां लिंक है http://stackoverflow.com/questions/30526637/php-mailer-could-not-send-email – pcs

2

कोशिश आप फ़ोल्डर में class.smtp.php की एक प्रति होनी चाहिए।
आपको इसे पीएचपी के साथ अपनी फाइल में शामिल करने की आवश्यकता नहीं है।
यदि आप नहीं करते हैं तो यह लाइन 1168 पर class.phpmailer.php में "घातक त्रुटि: वर्ग 'smtp नहीं मिलेगा"।
सुनिश्चित करें कि आपको अपनी फ़ाइल में इनकी आवश्यकता है:
को 'PHPMailerAutoload.php' की आवश्यकता है;
'class.phpmailer.php' की आवश्यकता है;

0

आपके पास आपके फ़ोल्डर में फ़ाइल class.smtp.php है?

मेरे मामले में यह मेरा हल है !!

अपने फ़ोल्डर में यह file कॉपी और पेस्ट करें।

<?php 
include '/path/to/class.phpmailer.php'; 
include '/path/to/vendor/autoload.php'; 

autoload.phpComposer & से php निर्भरता को संभालती है:

गुड लक

+0

हाँ यह बात है। –

0

मैं एक त्वरित स्क्रिप्ट की जरूरत मैन्युअल जूमला & में एक phpmailer पर्यावरण परीक्षण करने के लिए निम्नलिखित का इस्तेमाल किया।

मैंने PHPMailer examples से सेटिंग्स का भी उपयोग किया।

SSL प्रमाणपत्र दिखाने के लिए/TLS त्रुटियों का उपयोग करें:

$mail->SMTPDebug = 3;

संबंधित मुद्दे