【问题标题】:Mailgun SDK unable to find required classes (php)Mailgun SDK 找不到所需的类 (php)
【发布时间】:2015-07-26 06:00:29
【问题描述】:

我正在尝试使用 Mailgun API SDK 从我的测试服务器发送电子邮件。我下载了 SDK 本身,因为我目前没有使用 Composer。

但是,当我尝试实例化 Mailgun 对象时,我收到此错误:

致命错误:在第 38 行的 /var/www/mysite.xyz/www/inc/libs/Mailgun/Mailgun.php 中找不到类“Mailgun\Connection\RestClient”

我通过在 Mailgun.php 文件中添加 require "Connection/RestClient.php"; 来解决这个问题。然而,这反过来又导致了它自己的错误。

致命错误:在第 41 行的 /var/www/mysite.xyz/www/inc/libs/Mailgun/Connection/RestClient.php 中找不到类“GuzzleHttp\Client”

这包含在我的 includes.php 中,因此适用于所有页面。

#Mailgun php functions
require_once "libs/Mailgun/Mailgun.php";
use Mailgun\Mailgun;

然后,当我尝试使用它时;

# First, instantiate the SDK with your API credentials and define your domain. 
$mg = new Mailgun\Mailgun("key-myactualkey");
$domain = "myactualdomain.xyz";
print "Email to send is ".$welcomeemail; #Never gets reached

它会导致这些致命错误,并且程序会停止。

为什么会发生这种情况,我该如何解决?

【问题讨论】:

    标签: php mailgun


    【解决方案1】:

    我遇到了同样的问题,并通过使用 composer 解决了这个问题,这比你想象的要容易。只需按照以下说明进行操作(本地,在您的计算机上,应安装 PHP 的位置):

    https://github.com/mailgun/mailgun-php/blob/master/SharedHostInstall.md

    然后将生成的所有文件上传到您的服务器的单独目录中。

    然后在您的脚本中加入以下行:

    require 'your/path/to/these/files/vendor/autoload.php';
    use Mailgun\Mailgun;
    

    像这样创建一个新的 Mailgun 对象:

    $mg = new Mailgun("your-secret-key");
    

    【讨论】:

    • 这可能行得通,但我真的希望我的代码尽可能的简洁。我通过意识到直接使用 CURL 只需要大约五行更轻量的代码来解决这个问题,所以我改用它,
    猜你喜欢
    • 1970-01-01
    • 2020-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-26
    • 2021-06-28
    • 1970-01-01
    相关资源
    最近更新 更多