Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Email Template Bundle Laravel Package

adesigns/email-template-bundle

Symfony2 bundle for managing reusable email templates with Twig blocks (from, subject, body). Load a template with data via a service, then send rendered emails (e.g., registration, password reset) using SwiftMailer.

View on GitHub
Deep Wiki
Context7

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 -%}
[email protected]
{%- 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' => '[email protected]',
                '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: [email protected]

Thanks

Advanced Usage

Credits

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

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
calmfox/watch-sylius
damienfern/grpc-symfony-bundle
atoolo/index-bundle
atoolo/genai-bundle
coprotoai/laravel-ticket
davidjln/llm-carbon-bundle
cryonighter/valid-request-bundle
coolms/taxonomy-bundle
coolms/field-bundle
articulate-orm/symfony
aaix/laravel-tall-architect
ephoto/akeneo-connector
emmanuelballery/eb-plantumlbundle
emielburgman/symfony-visitor-beacon
emielburgman/symfony-visit-storage
emielburgman/symfony-security-headers
emielburgman/symfony-log-viewer
emarref/xdebug-bundle
emarref/pubnub-bundle
elriseio/finance-money-bundle