New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

adesigns/email-template-bundle

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

adesigns/email-template-bundle

This bundle helps you to deal with emails in your Symfony2 app. Render emails from Twig or Database, it's easy!.

symfony-bundle
Source
Packagist
Version
v1.0.2
Version published
Total downloads
2.2K
Maintainers
1
Created
Source

Email Templates Bundle for Symfony2

This bundle can be useful when you need to send diffrent kind of emails from your app, for eg. user registration or forgot password email. Read usage section.

Build Status

Installation

Add bundle via composer (Symfony 2.1)

php composer.phar require sfk/email-template-bundle:dev-master

Add bundle to your application kernel

// app/AppKernel.php
public function registerBundles() 
{
    $bundles = array(
        // ...
        new Sfk\EmailTemplateBundle\SfkEmailTemplateBundle(),
    );
}

Usage

  • Create registration email template in your bundle
src/Acme/DemoBundle/Resources/views/[Emails]/user_registered.html.twig
  • Edit template
// src/Acme/DemoBundle/Resources/views/[Emails]/user_registered.html.twig
{% extends 'SfkEmailTemplateBundle::email.html.twig' %}

{% block from -%}
example@example.org
{%- endblock %}

{% block subject -%}
Thanks for registering {{ first_name }}!
{%- endblock %}

{% block body -%}
Hello {{ first_name }},
<br />
<br />
Thank you for registering at our website! below your account details:
<br />
<br />
First Name: {{ first_name }}<br />
Last Name: {{ last_name }}<br />
Email: {{ email }}<br />
<br />
Thanks
{%- endblock %}
  • Now you can send it from your controller
<?php
// ...
class UserController extends Controller {
    public function registerAction() {
        // ...
        if ($form->isValid()) {
            //.. some actions here
            $formData = array(
                'email' => 'johndoe@example.com',
                'first_name' => 'John',
                'last_name' => 'Doe',
            );
            $template = $this->get('sfk_email_template.loader')
                ->load('AcmeDemoBundle:Emails:user_registered.html.twig', $formData)
            ;
            $message = \Swift_Message::newInstance()
                ->setSubject($template->getSubject())
                ->setFrom($template->getFrom())
                ->setBody($template->getBody(), 'text/html')
                ->setTo($formData['email'])
            ;
            // send email
            $this->get('mailer')->send($message);
        }
    }
}

Thats's it! John Doe will receive an email as below:

Hello John,
Thank you for registering at our website! below your account details:

First Name: John
Last Name: Doe
Email: johndoe@example.com

Thanks

Advanced Usage

Credits

This bundle was inspired by Rendering emails with Twig in Symfony2 post. Many thanks to its author.

Keywords

twig email

FAQs

Package last updated on 31 Jan 2020

Related posts