2017 © Pedro Peláez
 

symfony-bundle email-bundle

Create beautiful emails in Symfony2

image

illarra/email-bundle

Create beautiful emails in Symfony2

  • Sunday, July 7, 2013
  • by doup
  • Repository
  • 1 Watchers
  • 1 Stars
  • 2,426 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 3 Open issues
  • 4 Versions
  • 7 % Grown

The README.md

Illarra Email Bundle

Build Status Total Downloads Latest Stable Version Latest Unstable Version, (*1)

This bundle let's you create HTML emails with inline styles using Twig as the template language. It's made of two services:, (*2)

  • Renderer: Updates the given Swift_Message using a Twig layout/template and css.
  • Mailer: It's a wrapper for the default "@mailer" service which let's you use profiles to tell who is sending the email.
$message = \Swift_Message::newInstance();

$this->get('illarra.email.renderer')->updateMessage(
    $message,
    'AcmeEmailBundle:Email:layout.html.twig',
    'AcmeEmailBundle:Email:signup/eu.html.twig',
    '@AcmeEmailBundle/Resources/assets/css/email.css',
    [
        'name' => 'Bartolo',
    ]
);

$message->setTo(['bartolo@example.com' => 'Bartolo']);

$this->get('illarra.email.mailer')->send('maritxu', $message);

Configuration

config.yml:, (*3)

illarra_email:
  # Force double quotes in HTML tag attributes, 

<

p style=''> => 

<

p style="">
  # This is usefull for Mandrill or other service which needs double quote attributes
  force_double_quotes: false

  # Generate plain text message from HTML version
  generate_plain: false

  # See "Renderer"
  layout_var:  'layout'
  subject_var: 'subject'

  # See "Mailer"
  profiles: ~

Renderer

$renderer->updateMessage($swift_message, $layout, $template, $css, $data);

Layout & template

Both layout & template need a Twig path. Layout and templates are separated, so that is easier to maintain lot's of templates., (*4)

This is the minimum a $template needs:, (*5)

{% extends layout %}
{% block subject %}Welcome {{ name }}!{% endblock %}

Note that layout in the extends tag is a variable which corresponds to the $layout given in the updateMessage() method. The subject block is used to generate the email subject. Both are required., (*6)

The names of the layout variable and the subject block can be changed in config.yml:, (*7)

illarra_email:
  layout_var:  'layout'
  subject_var: 'subject'

CSS

You can use the @AcmeBundle/path/my.css notation to locate your css. This css file will be used to add inline styles to the generated HTML., (*8)

Mailer

$mailer->send($profile, $swift_message);

Profiles are defined in config.yml:, (*9)

illarra_email:
  profiles:
    maritxu:
      from: { maritxu@example.com: Maritxu }
    bartolo:
      from: { no-reply@example.com: Unknown }
      reply_to: { bartolo@example.com: Bartolo }

Define the From and ReplyTo options like in a Swift Message: {'email': 'name'}. You can define multiple emails in the From parameter, all of them will be visible to the addressee, but only the first one will be the actual Sender., (*10)

The Versions

07/07 2013

dev-master

9999999-dev https://github.com/illarra/IllarraEmailBundle

Create beautiful emails in Symfony2

  Sources   Download

MIT

The Requires

 

The Development Requires

by Eneko Illarramendi

twig email template css inline style bundle

07/07 2013

0.3.0

0.3.0.0 https://github.com/illarra/IllarraEmailBundle

Create beautiful emails in Symfony2

  Sources   Download

MIT

The Requires

 

The Development Requires

by Eneko Illarramendi

twig email template css inline style bundle