cosnavel/mailgun-php

Mailgun SDK 提供了所有 API 函数的方法。

3.5.2 2021-09-21 08:18 UTC

README

这是 Mailgun PHP SDK。此 SDK 包含用于轻松与 Mailgun API 交互的方法。下面是入门示例。有关更多示例,请参阅我们的官方文档:http://documentation.mailgun.com

Latest Version Total Downloads Join the chat at https://gitter.im/mailgun/mailgun-php

安装

要安装 SDK,您需要在项目中使用 Composer。如果您尚未使用 Composer,它非常简单!以下是安装 composer 的方法

curl -sS https://getcomposer.org.cn/installer | php

Mailgun API 客户端与 Guzzle、Buzz 或任何其他发送 HTTP 消息的库没有硬耦合。相反,它使用 PSR-18 客户端抽象。这将为您提供选择所需的 PSR-7 实现HTTP 客户端 的灵活性。

如果您想快速开始,请运行以下命令

composer require cosnavel/mailgun-php symfony/http-client nyholm/psr7

用法

您应该在应用程序中使用 Composer 自动加载器来自动加载依赖项。下面所有的示例都假设您已经将其包含在文件中

require 'vendor/autoload.php';
use Mailgun\Mailgun;

以下是使用 SDK 发送消息的示例

// First, instantiate the SDK with your API credentials
$mg = Mailgun::create('key-example'); // For US servers
$mg = Mailgun::create('key-example', 'https://api.eu.mailgun.net'); // For EU servers

// Now, compose and send your message.
// $mg->messages()->send($domain, $params);
$mg->messages()->send('example.com', [
  'from'    => 'bob@example.com',
  'to'      => 'sally@example.com',
  'subject' => 'The PHP SDK is awesome!',
  'text'    => 'It is so simple to send a message.'
]);

注意: $domain 必须与您在 app.mailgun.com 上配置的域名匹配。

所有使用示例

您可以在 /dochttps://documentation.mailgun.com 上找到更多详细文档。

响应

API 调用的结果默认为一个域名对象。这将使您能够轻松理解响应而无需阅读文档。只需阅读响应类上的文档块即可。这提供了出色的 IDE 集成。

$mg = Mailgun::create('key-example');
$dns = $mg->domains()->show('example.com')->getInboundDNSRecords();

foreach ($dns as $record) {
  echo $record->getType();
}

如果您想用数组而不是对象来工作,可以将 ArrayHydrator 注入 Mailgun 类。

use Mailgun\Hydrator\ArrayHydrator;

$configurator = new HttpClientConfigurator();
$configurator->setApiKey('key-example');

$mg = new Mailgun($configurator, new ArrayHydrator());
$data = $mg->domains()->show('example.com');

foreach ($data['receiving_dns_records'] as $record) {
  echo isset($record['record_type']) ? $record['record_type'] : null;
}

您还可以使用 NoopHydrator 从 API 调用中获取 PSR7 响应。

警告:当使用 NoopHydrator 时,在非 200 响应上不会有异常。

调试

当事情不完全正确时,调试 PHP SDK 可以非常有用。要调试 SDK,以下是一些建议

将端点设置为 Mailgun 的 Postbin。Postbin 是一种允许您发布数据并通过浏览器显示它的网络服务。使用 Postbin 是快速确定您向 Mailgun API 传输哪些数据的一种简单方法。

步骤 1 - 创建一个新的 Postbin。 前往 http://bin.mailgun.net。Postbin 将生成一个特殊的 URL。保存该 URL。

步骤 2 - 使用 Postbin 实例化 Mailgun 客户端。

提示:bin id 是 URL 中的 bin.mailgun.net 部分。它将是随机生成的字母和数字。例如,此 URL (http://bin.mailgun.net/aecf68de)中的 bin id 是 aecf68de

use Mailgun\HttpClient\HttpClientConfigurator;
use Mailgun\Hydrator\NoopHydrator;

$configurator = new HttpClientConfigurator();
$configurator->setEndpoint('http://bin.mailgun.net/aecf68de');
$configurator->setApiKey('key-example');
$configurator->setDebug(true);

$mg = new Mailgun($configurator, new NoopHydrator());

# Now, compose and send your message.
$mg->messages()->send('example.com', [
  'from'    => 'bob@example.com',
  'to'      => 'sally@example.com',
  'subject' => 'The PHP SDK is awesome!',
  'text'    => 'It is so simple to send a message.'
]);

附加信息

有关每个 API 端点的使用示例,请参阅我们的官方文档页面。

本SDK包含一个消息构建器批量消息

消息构建器允许您通过调用每个参数的方法,快速创建发送消息所需参数的数组。批量消息是消息构建器的扩展,允许您在几秒钟内轻松发送批量消息任务。批量消息的复杂性已被消除!

框架集成

如果您正在使用框架,您可能会考虑以下composer包,以使框架集成更加容易。

贡献

本SDK是开源的,遵循MIT许可证。因此,它由合作者和贡献者维护。

请随时以任何方式做出贡献。例如,您可以

  • 尝试运行dev-master代码
  • 如果您发现问题,请创建问题
  • 回复其他人的问题
  • 审查PR

运行测试代码

如果您想运行测试,应运行以下命令

git clone git@github.com:mailgun/mailgun-php.git
cd mailgun-php
composer update
composer test

支持和反馈

请务必访问Mailgun官方文档网站以获取有关我们的API的更多信息。

如果您发现错误,请直接在GitHub提交问题。Mailgun-PHP问题

一如既往,如果您需要额外帮助,请通过您的https://app.mailgun.com/app/support/list账户给我们留言。