tlamedia / sparkpost-bundle
The SparkPostBundle integrates the SparkPost PHP library with Symfony, allowing you to interact with the Sparkpost API in your Symfony projects.
Installs: 4 202
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 2
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: ^7.1 || ^8.0
- guzzlehttp/guzzle: ^6.3
- php-http/guzzle6-adapter: ^1.1
- sparkpost/sparkpost: ^2.1
- symfony/config: ^3.4 || ^4.4 || ^5.4
- symfony/dependency-injection: ^3.4.26 || ^4.4 || ^5.4
- symfony/http-kernel: ^3.4 || ^4.4.50 || ^5.4
Requires (Dev)
- symfony/phpunit-bridge: ^4.4 || ^5.2
README
The SparkPostBundle
integrates the SparkPost PHP library with Symfony.
Installation
Get the bundlle:
composer require tlamedia/sparkpost-bundle
Then enable it in your kernel:
// config/bundles.php return [ //... Tla\SparkPostBundle\TlaSparkPostBundle::class => ['all' => true], //... ];
Configuration
Configure the API key to use:
# config/packages/tla_spark_post.yml tla_spark_post: api_key: 'YOUR_API_KEY' # Replace with your own
Usage
The bundle registers the service tla_spark_post.api_client
, which allows you to use the SparkPost API.
Send a mail from a controller
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"; } } }
Documentation
Detailed documentation on how to access each API method can be found in the documentation of the package that this bundle integrates: Sparkpost API library
License
This package is available under the MIT license.