tlamedia/sparkpost-bundle

SparkPostBundle 将 SparkPost PHP 库与 Symfony 集成,允许你在 Symfony 项目中与 Sparkpost API 交互。

1.2.1 2023-02-07 10:55 UTC

This package is auto-updated.

Last update: 2024-09-07 14:47:26 UTC


README

SparkPostBundleSparkPost PHP 库与 Symfony 集成。

Latest Stable Version Build Status License

安装

获取捆绑包

composer require tlamedia/sparkpost-bundle

然后在你的内核中启用它

// config/bundles.php
return [
    //...
    Tla\SparkPostBundle\TlaSparkPostBundle::class => ['all' => true],
    //...
];

配置

配置要使用的 API 密钥

# config/packages/tla_spark_post.yml
tla_spark_post:
    api_key: 'YOUR_API_KEY' # Replace with your own

用法

该捆绑包注册了服务 tla_spark_post.api_client,允许你使用 SparkPost API。

从控制器发送邮件

class SomeController extends Controller
{
    public function sendAction()
    {

        $sparky = $this->getContainer()->get('tla_spark_post.api_client');
        
        $promise = $sparky->transmissions->post([
        
            'content' => [
                'from' => [
                    'name' => 'YOUR_NAME',
                    'email' => 'YOUR_EMAIL',
                ],
                'subject' => 'My first mail using SparkPostBundle',
                'html' => '<html><body><h1>Congratulations, {{name}}!</h1><p>You just sent your first mail!</p></body></html>',
                'text' => 'Congratulations, {{name}}!! You just sent your first mail!',
                
            ],
            'substitution_data' => ['name' => 'YOUR_FIRST_NAME'],
            'recipients' => [
                [
                    'address' => [
                        'name' => 'YOUR_NAME',
                        'email' => 'YOUR_EMAIL',
                    ],
                ],
            ],
            'cc' => [
                [
                    'address' => [
                        'name' => 'ANOTHER_NAME',
                        'email' => 'ANOTHER_EMAIL',
                    ],
                ],
            ],
            'bcc' => [
                [
                    'address' => [
                        'name' => 'AND_ANOTHER_NAME',
                        'email' => 'AND_ANOTHER_EMAIL',
                    ],
                ],
            ],
        ]);
        
        $promise = $sparky->transmissions->get();
        
        try {
            $promise->wait();
        } catch (\Throwable $t) {
            echo $t->getCode()."\n";
            echo $t->getMessage()."\n";
        }

    }
}

文档

有关如何访问每个 API 方法的详细文档,请参阅该捆绑包所集成的包的文档: Sparkpost API 库

许可证

此包可在 MIT 许可证 下使用。