Weave 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

eresults/email-template-bundle

View on GitHub
Deep Wiki
Context7

EmailTemplateBundle

eResults\EmailTemplateBundle lets you use a single template to encapsulate all aspects of an email, like subject body and even From, CC & BCC fields. This also allows you to store (Twig) templates in your database.

Requirements

  • PHP >=7.4
  • Symfony ^4.4|^5.0

Installation

composer req eresults/email-template-bundle

Add bundle to your application kernel

// app/AppKernel.php
public function registerBundles() 
{
    $bundles = [
        // ...
        new eResults\EmailTemplateBundle\eResultsEmailTemplateBundle(),
    ];
}

Usage

  • Create registration email template in your app
templates/email/user_registered.html.twig
  • Edit template
// templates/email/user_registered.html.twig
{% extends '@eResultsEmailTemplateBundle/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(LoaderInterface $loader, \Swift_Mailer $mailer) {
        // ...
        if ($form->isValid()) {
            //.. handle your form
            $formData = array(
                'email' => '[email protected]',
                'first_name' => 'John',
                'last_name' => 'Doe',
            );

            $template = $loader->load('email/user_registered.html.twig', $formData);
            $message = \Swift_Message::newInstance()
                ->setSubject($template->getSubject())
                ->setFrom($template->getFrom())
                ->setBody($template->getBody(), 'text/html')
                ->setTo($formData['email'])
            ;

            $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

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.
snowsoft/faker
meditationsteps/blogetc
animalyoung/laravel-influxdb
onix-solutions/sms-telera
lonely-lights/prosetta
oxygen/data
oxygen/core
jengo/base
xiloryx/log-collector
a21ns1g4ts/filament-stripe
la-php/laravel-admin
artisan-build/community-prompts
vleroy/smart
ayles-software/laravel-australian-public-holidays
cboxdk/laravel-id-spatie
cboxdk/laravel-id-billing
cboxdk/laravel-id-billing-bridge
simple-as-fuck/php-performance-log
hsluv/hsluv
seampact/codegen