SparkPostBundle
The SparkPostBundle
integrates the SparkPost PHP library with Symfony., (*1)
, (*2)
Installation
Get the bundlle:, (*3)
composer require tlamedia/sparkpost-bundle
, (*4)
Then enable it in your kernel:, (*5)
// config/bundles.php
return [
//...
Tla\SparkPostBundle\TlaSparkPostBundle::class => ['all' => true],
//...
];
Configuration
Configure the API key to use:, (*6)
# 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., (*7)
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, (*8)
License
This package is available under the MIT license., (*9)