TystrSendgridBundle
, (*1)
A simple bundle for integrating the sendgrid php library into the Symfony2 framework., (*2)
Installation
Composer
Require the package with the following command:, (*3)
$ composer.phar require tystr/sendgrid-bundle
Configuration
Enable the bundle by adding it to the list of registered bundles
in the app/AppKernel.php
file of your project:, (*4)
new Tystr\Bundle\SendgridBundle\TystrSendgridBundle(),
Add the following to your configuration file:, (*5)
tystr_sendgrid:
username: YOUR_SENDGRID_USERNAME
password: YOUR_SENDGRID_PASSWORD
Usage
Retrieve the service like so:, (*6)
$sendgrid = $this->get('tystr_sendgrid.sendgrid');
See the Sendgrid Documentation
for more information., (*7)
WebHooks
The bundle supports sendgrid webhooks., (*8)
Add the bundles routing to your application
# in app/config/routing.yml
sendgrid_hooks:
resource: "@TystrSendgridBundle/Resources/config/routing.xml"
Listen to any of the hook events
<service id="acme_sendgrid_listener" class="Acme\Bundle\SendgridListener">
<tag name="kernel.event_listener" event="sendgrid.bounce" method="onEmailBounce" />
</service>
namespace Acme\Bundle;
use Tystr\Bundle\SendgridBundle\Event\WebHookEvent;
class SendgridListener
{
public function onEmailBounce(WebHookEvent $event)
{
$this->logger->info('Address bounced: ' . $event-getEmail()->getOrElse('unknownEmail'));
}
}
Register the webhook
In the sendgrid interface, register the URL http://yourApp.com/__tystr/sendgrid
as the webhook., (*9)