A simple bundle for integrating the Sendgrid PHP library into the Symfony2 framework.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Controller
DependencyInjection
Event
Resources
Tests
.gitignore
.travis.yml
CHANGELOG.md
LICENSE
README.md
TystrSendgridBundle.php
composer.json
composer.lock
phpunit.xml.dist

README.md

TystrSendgridBundle

Build Status Test Coverage

A simple bundle for integrating the sendgrid php library into the Symfony2 framework.

Installation

Composer

Require the package with the following command:

$ 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:

new Tystr\Bundle\SendgridBundle\TystrSendgridBundle(),

Add the following to your configuration file:

tystr_sendgrid:
    username: YOUR_SENDGRID_USERNAME
    password: YOUR_SENDGRID_PASSWORD

Usage

Retrieve the service like so:

$sendgrid = $this->get('tystr_sendgrid.sendgrid');

See the Sendgrid Documentation for more information.

WebHooks

The bundle supports sendgrid webhooks.

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.