17

不知道为什么我会收到这个致命的 php 错误,因为我的所有文件和类都设置正确。任何帮助将不胜感激。

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("nicarlo@gmai.com","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:info@lcrisq.com">info@lcrisq.com</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在这里:http://pastebin.com/KsAwgd1c

这是 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);

        }
    }
?>
4

6 回答 6

39

你不应该要求class.phpmailer.php.

替换: require "classes/class.phpmailer.php";require "PHPMailerAutoload.php";它会工作得很好。

于 2014-05-20T15:47:25.310 回答
8
<?php 

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
use PHPMailer\PHPMailer\SMTP;

require './vendors/phpmailer/phpmailer/src/PHPMailer.php';
require './vendors/phpmailer/phpmailer/src/Exception.php';
require './vendors/phpmailer/phpmailer/src/SMTP.php';
于 2020-04-28T11:23:54.980 回答
3

您必须在文件夹中有一份 class.smtp.php 的副本。
您不需要使用 PHP include 将其包含在您的文件中。
如果你不这样做,它会抛出“致命错误:在第 1168 行的 class.phpmailer.php 中找不到类 'smtp'”。
确保你的文件中确实需要这些:
require 'PHPMailerAutoload.php';
需要'class.phpmailer.php';

于 2015-07-04T19:12:15.583 回答
0

我需要一个快速脚本来手动测试phpmailerjoomla 中的环境并使用以下内容:

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

来自Composerautoload.php并处理依赖项。php

我还使用了PHPMailer 示例中的设置。

要显示 SSL 证书/TLS 错误,请使用:

$mail->SMTPDebug = 3;

于 2018-02-03T19:08:46.360 回答
0

您的文件夹中有文件class.smtp.php吗?

就我而言,这是我的解决方案!

将此文件复制并粘贴到您的文件夹中。

祝你好运

于 2015-08-28T22:36:56.247 回答
-2

尝试这个

include "class.smtp.php";
于 2015-01-17T14:38:56.240 回答