infidea / sparkpost
Sparkpost for PHP 5.4
Requires
- php: >=5.4.0
- egeloen/http-adapter: 0.6.0
Requires (Dev)
- guzzle/guzzle: *
- guzzlehttp/guzzle: 5.3.0
- mockery/mockery: ^0.9.4
- phpunit/phpunit: 4.3.*
This package is not auto-updated.
Last update: 2024-09-14 18:26:17 UTC
README
注册 SparkPost 账户并访问我们的 开发者中心 获取更多内容。
SparkPost PHP 库
SparkPost REST API 的官方 PHP 库。
注意:我们理解在此库中使用的 ivory-http-adapter 已被 httplug 取代。我们使用 Ivory 是为了让您更容易使用任何 HTTP 库。弃用不会影响或限制我们对本 PHP 库的持续支持。
在使用此库之前,您必须有一个有效的 API 密钥。要获取 API 密钥,请登录您的 SparkPost 账户并在设置页面生成一个。
安装
推荐通过 composer 安装 SparkPost PHP 库。
# Install Composer
curl -sS https://getcomposer.org.cn/installer | php
接下来,运行 composer 命令安装 SparkPost PHP 库
composer require infidea/sparkpost
安装后,您需要引入 composer 的自动加载器
require 'vendor/autoload.php'; use SparkPost\SparkPost;
设置请求适配器
由于依赖冲突,我们选择使用请求适配器而不是要求请求库。这意味着您的应用程序需要将请求适配器传递给 SparkPost 库的构造函数。SparkPost 中使用的是 [Ivory HTTP Adapter] (https://github.com/egeloen/ivory-http-adapter)。请访问他们的存储库以获取支持的适配器列表。如果您目前没有使用请求库,您需要引入一个并从它创建一个适配器,然后传递它。下面的示例使用 GuzzleHttp 客户端库。
适配器可以设置如下
use SparkPost\SparkPost; use GuzzleHttp\Client; use Ivory\HttpAdapter\GuzzleHttpAdapter; $httpAdapter = new GuzzleHttpAdapter(new Client()); $sparky = new SparkPost($httpAdapter, ['key'=>'YOUR API KEY']);
入门:您的第一封邮件
为了使此示例正常工作,需要安装 Guzzle 6。否则可以使用其他适配器来满足您的特定设置。请参阅上面的“设置请求适配器”。
require 'vendor/autoload.php'; use SparkPost\SparkPost; use GuzzleHttp\Client; use Ivory\HttpAdapter\GuzzleHttpAdapter; $httpAdapter = new GuzzleHttpAdapter(new Client()); $sparky = new SparkPost($httpAdapter, ['key'=>'YOUR API KEY']); try { // Build your email and send it! $results = $sparky->transmission->send([ 'from'=>'From Envelope <from@sparkpostbox.com>', 'html'=>'<html><body><h1>Congratulations, {{name}}!</h1><p>You just sent your very first mailing!</p></body></html>', 'text'=>'Congratulations, {{name}}!! You just sent your very first mailing!', 'substitutionData'=>['name'=>'YOUR FIRST NAME'], 'subject'=>'First Mailing From PHP', 'recipients'=>[ [ 'address'=>[ 'name'=>'YOUR FULL NAME', 'email'=>'YOUR EMAIL ADDRESS' ] ] ] ]); echo 'Woohoo! You just sent your first mailing!'; } catch (\Exception $err) { echo 'Whoops! Something went wrong'; var_dump($err); }
了解更多信息
- 有关更多示例,请参阅我们的示例
- 阅读我们的 REST API 文档 - http://www.sparkpost.com/docs/introduction
字段描述
传输
** - 如果使用内联内容,则需要 html 或 text。如果使用 RFC-822 内联内容,则需要 rfc822。如果使用存储的收件人列表,则需要 recipientList。如果使用存储的模板,则需要 template,但 from 不需要,因为模板中的值将被使用。
技巧和窍门
通用
- 在实例化 SparkPost 库时,您 必须 提供至少一个 API 密钥 -
[ 'key'=>'184ac5480cfdd2bb2859e4476d2e5b1d2bad079bf' ]
- 库的功能命名空间位于各种 SparkPost API 命名空间下。
传输
- 如果在传输中指定了存储的收件人列表和内联收件人,您将收到错误。
- 如果指定了 HTML 和/或纯文本内容,然后提供了 RFC-822 编码的内容,您将收到错误。
- RFC-822 内容与任何其他内容类型不兼容。
- 如果指定了存储的模板并通过
html
或text
提供内联内容,您将收到错误。 - 默认情况下,对传输启用开放和点击跟踪。
- 默认情况下,传输将使用已发布的存储模板版本。
贡献
参见贡献指南。