HipMandrillBundle
[] (http://travis-ci.org/Hipaway-Travel/HipMandrillBundle), (*1)
Send transactional mail through mandrill.com. This bundle provides an easy api for Symfony2 Projects., (*2)
All settings inside message class represent attributes of Mandrill's API. Please refer to their API documentation for Details:, (*3)
https://mandrillapp.com/api/docs/messages.html, (*4)
Prerequisites
Before you're able to use this bundle you must sign up with Mandrill., (*5)
http://mandrill.com, (*6)
Mandrill is a great way to send your transactional emails and provides detailed advances reports., (*7)
Mandrill is free for limited number of email per day, please read through pricing section on the website for more information:, (*8)
http://mandrill.com/pricing/, (*9)
Installation
Add the bundle to your composer.json, (*10)
# composer.json
{
"require": {
"hipaway-travel/mandrill-bundle": "dev-master",
}
}
Run composer install, (*11)
php ./composer.phar install
Enable the bundle in the kernel, (*12)
<?php
// app/AppKernel.php
public function registerBundles()
{
$bundles = array(
// ...
new Hip\MandrillBundle\HipMandrillBundle(),
);
}
Configuration
Add configuration to config.yml., (*13)
Log in to Mandrill and go to "Settings" -> "SMTP and API Credentials". Create an API Key and use it in your Symfony2 Configuration., (*14)
# config.yml
hip_mandrill:
api_key: xxxxx
default:
sender: info@example.com
sender_name: John Doe
Now you're all set, send your first transactional mails:, (*15)
Use
Simple controller Example:, (*16)
<?php
// src/Hip/ExampleBundle/Controller/ExampleController.php
namespace Hip\ExampleBundle\Controller;
use Symfony\Component\HttpFoundation\Response;
use Hip\MandrillBundle\Message;
use Hip\MandrillBundle\Dispatcher;
class ExampleController
{
public function indexAction()
{
$dispatcher = $this->get('hip_mandrill.dispatcher');
$message = new Message();
$message
->setFromEmail('mail@example.com')
->setFromName('Customer Care')
->addTo('max.customer@email.com')
->setSubject('Some Subject')
->setHtml('<html><body><h1>Some Content</h1></body></html>');
$result = $dispatcher->send($message);
return new Response('<pre>' . print_r($result, true) . '</pre>');
}
}