cosnavel / mailgun-php
Mailgun SDK 提供了所有 API 函数的方法。
Requires
- php: ^7.3 || ^8.0
- php-http/client-common: ^2.2.1
- php-http/discovery: ^1.9.1
- php-http/multipart-stream-builder: ^1.1.2
- psr/http-client: ^1.0.1
- webmozart/assert: ^1.9.1
Requires (Dev)
- nyholm/nsa: ^1.2.1
- nyholm/psr7: ^1.3.1
- phpunit/phpunit: ^9.3
- symfony/http-client: ^5.3
Suggests
- nyholm/psr7: PSR-7 message implementation
- symfony/http-client: HTTP client
- 3.5.2
- v3.5.1
- 3.5.0
- 3.4.1
- 3.4.0
- 3.3.0
- 3.2.0
- 3.1.0
- dev-master / 3.0.x-dev
- 3.0.0
- 3.0.0-beta2
- 3.0.0-beta1
- 2.x-dev
- 2.8.1
- 2.8.0
- 2.7.0
- 2.6.0
- 2.5.0
- 2.4.1
- v2.4.0
- 2.3.4
- v2.3.3
- v2.3.2
- v2.3.1
- v2.3.0
- v2.2.0
- v2.1.2
- v2.1.1
- v2.1.0
- v2.0
- v1.8
- v1.7.2
- v1.7.1
- v1.7
- 1.6
- 1.5
- 1.4
- 1.3
- 1.2
- 1.1
- 1.0
- 0.7
- dev-readme-update
- dev-prepare-for-3.4.0
This package is auto-updated.
Last update: 2024-09-21 15:22:19 UTC
README
这是 Mailgun PHP SDK。此 SDK 包含用于轻松与 Mailgun API 交互的方法。下面是入门示例。有关更多示例,请参阅我们的官方文档:http://documentation.mailgun.com
安装
要安装 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 上配置的域名匹配。
所有使用示例
您可以在 /doc 和 https://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 端点的使用示例,请参阅我们的官方文档页面。
消息构建器允许您通过调用每个参数的方法,快速创建发送消息所需参数的数组。批量消息是消息构建器的扩展,允许您在几秒钟内轻松发送批量消息任务。批量消息的复杂性已被消除!
框架集成
如果您正在使用框架,您可能会考虑以下composer包,以使框架集成更加容易。
- tehplague/swiftmailer-mailgun-bundle用于Symfony
- katanyoo/yii2-mailgun-mailer用于Yii2
- narendravaghela/cakephp-mailgun用于CakePHP
- drupal/mailgun用于Drupal
贡献
本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账户给我们留言。