This Symfony bundle provides mail system for Email Bundle. Bundle uses SendinBlue transactional email platform.
composer require everlutionsk/sendin-blue-bundle
// app/AppKernel.php
public function registerBundles()
{
return array(
// ...
new Everlution\EmailBundle\EverlutionEmailBundle(),
new Everlution\SendinBlueBundle\EverlutionSendinBlueBundle(),
);
}
Following configuration snippet describes how to configure the bundle.
Firstly, you must modify EmailBundle configuration to work with SendinBlueBundle's services.
# app/config/config.yml
# EmailBundle Configuration
everlution_email:
domain_name: '%domain%' # example.com
mail_system: everlution.sendin_blue.mail_system
async_stream: everlution.email.stream.kernel_terminate
request_processors:
inbound: everlution.sendin_blue.inbound.request_processor
outbound_message_event: everlution.sendin_blue.outbound.message_event.request_processor
Secondly, you must configure SendinBlueBundle itself
# app/config/config.yml
# SendinBlueBundle Configuration
everlution_sendin_blue:
api_key: SECRET_API_KEY
timeout: int|null
timeout - [Optional] Email timeout in ms, default is 30000 (max. 60000)
Mail system service provided by this bundle transform OutboundMessage into JSON and then POST this JSON to SendinBlue API. However, this JSON can be modified just before it is posted to SendinBlue. To do this you must create a service, which implements RawMessageTransformer interface and add following tag:
everlution.sendin_blue.outbound.raw_message_transformer
- Request Processors
- Request signature calculation
- Webhook keys configuration