2017 © Pedro PelĂĄez
 

symfony-bundle mailing-bundle

CnertaMailinBundle is a Symfony2 Bundle who provide an easy way to send email build with Twig template

image

cnerta/mailing-bundle

CnertaMailinBundle is a Symfony2 Bundle who provide an easy way to send email build with Twig template

  • Tuesday, October 13, 2015
  • by waldo2188
  • Repository
  • 4 Watchers
  • 0 Stars
  • 196 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 3 Versions
  • 0 % Grown

The README.md

/!\ Repository not maintained and outdated /!\

CnertaMailingBundle

CnertaMailinBundle is a Symfony2 Bundle who provide an easy way to send email build with Twig template., (*1)

Create your email message with Twig and use the CnertaMailinBundle's service for sending it., (*2)

Easy, fast and builded on the shoulders of giants like SwiftMail., (*3)

Because quality matters : SensioLabsInsight Build Status, (*4)

Installation

Composer

Add to composer json:, (*5)

``` js "require": { //.. "cnerta/mailing-bundle": "dev-master" }, (*6)


Run: ``` bash $ composer install cnerta/mailing-bundle

Register the bundle in your AppKernel class., (*7)

``` php <?php // app/AppKernel.php, (*8)

public function registerBundles()
{
    $bundles = array(
        // ...
        new Cnerta\MailingBundle\CnertaMailingBundle(),
    );

    // ...
}

// ...

### Configure the bundle In `config.yml` ```yaml cnerta_mailing: default_bundle: "FooBundle" # The name of the bundle where the email template are stored active_log: false # Defined if you want to log each sending email from_email: address: exemple@exemple.com sender_name: "My name is"

How To Use

Create mail templates

  • Create a Mails folder in your src/AppBundle/Resources
  • Create a BlocksMail.html.twig in this new folder
  • Create a default.html.twig
  • Create a default.txt.twig

The BlocksMail.html.twig must contain all the objects and bodys part of your mail. Exemple :, (*9)

{% block bar_object %}A mail object{% endblock %}
{% block bar_body %}
A Body with full of pretty things !
{% endblock %}

The default.html.twig is the base template of your mail Exemple :, (*10)

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <strong>Hello dear user</strong>
        <div>
            {{ body|raw }} {# This is mandatory, it's the body message of your mail #}
        </div>
    </body>
</html>

The default.txt.twig is the base template of your mail Exemple :, (*11)

Hello dear user</strong

{{ body|raw }} {# This is mandatory, it's the body message of your mail in text version (without HTML elements) #}

Send mail !

Service name : cnerta.mailing, (*12)

In a Controller :, (*13)

use Cnerta\MailingBundle\Mailing\MailingServiceInterface;
use Cnerta\MailingBundle\Mailing\MailParameters;
use Cnerta\MailingBundle\Mailing\MailParametersInterface;

[...]
public function fooAction() {
    $mailParameters = MailParameters();

    $mailParameters
            ->setTemplateBundle('MyBundle')
            ->addBodyParameters("user", "User name");

    $this->get('cnerta.mailing')
        ->sendEmail(
            array("user@exemple.com"), // List of mail address or Symfony\Component\Security\Core\User\UserInterface
            "template_email", // Name of the block define in `BlocksMail.html.twig`
            $mailParameters);
}

Log all sending email in a specific channel

Because sometime you need to know what thé system send as email, this bundle provide an easy way to log all message., (*14)

This bundle use the mailingbundle channel to write log., (*15)

So, if you want to log this specific messages in a separate log file, use the config below., (*16)

monolog:
    handlers:
        myMailingChannel:
            # log all messages (since debug is the lowest level)
            level:    debug
            type:     stream
            path:     "%kernel.logs_dir%/mailing.log"
            channels: [mailingbundle]

The Versions

13/10 2015

dev-master

9999999-dev https://github.com/waldo2188/

CnertaMailinBundle is a Symfony2 Bundle who provide an easy way to send email build with Twig template

  Sources   Download

MIT

The Requires

 

The Development Requires

13/10 2015

1.0.1

1.0.1.0 https://github.com/waldo2188/

CnertaMailinBundle is a Symfony2 Bundle who provide an easy way to send email build with Twig template

  Sources   Download

MIT

The Requires

 

The Development Requires

17/09 2015

1.0.0

1.0.0.0 https://github.com/waldo2188/

CnertaMailinBundle is a Symfony2 Bundle who provide an easy way to send email build with Twig template

  Sources   Download

MIT

The Requires

 

The Development Requires