dachcom-digital / emailizr
Pimcore Emailizr - create html emails the right way!
Installs: 353 198
Dependents: 3
Suggesters: 0
Security: 0
Stars: 17
Watchers: 10
Forks: 6
Open Issues: 0
Type:pimcore-bundle
pkg:composer/dachcom-digital/emailizr
Requires
- pelago/emogrifier: ^7.0
- pimcore/pimcore: ^11.4
- twig/inky-extra: ^3.0
- twig/twig: ^3.14
Requires (Dev)
- codeception/codeception: ^5.0
- codeception/module-symfony: ^3.1
- phpstan/phpstan: ^2.0
- phpstan/phpstan-symfony: ^2.0
- symplify/easy-coding-standard: ~12.2.0
README
Requirements
- Pimcore ^11.4
- PHP >= 8.1
- Twig >= 3.9
Release Plan
| Release | Supported Pimcore Versions | Supported Symfony Versions | Release Date | Maintained | Branch | 
|---|---|---|---|---|---|
| >=3.1 | 11.4 | ^6.4 | 08.01.2025 | Feature Branch | master | 
| 3.x | 11.0 | ^6.2 | 30.08.2023 | Feature Branch | master | 
| 2.x | 10.1-10.6 | ^5.4 | 21.09.2021 | No | 2.x | 
| 1.x | 6.0-6.9 | 3.4,^4.4 | 06.12.2017 | No | 1.x | 
Installation
"require" : { "dachcom-digital/emailizr" : "~3.2.0", }
Add Bundle to bundles.php:
return [ EmailizrBundle\EmailizrBundle::class => ['all' => true], ];
- Create valid email markup with inky and inline styles.
- Respect editables in pimcore edit mode.
Usage
Just extend the emailizr layout:
{% extends '@Emailizr/layout.html.twig' %}
This will include a markup like this. You may want to change it:
{% apply spaceless %}
{{ emailizr_style_collector.add('@EmailizrBundle/public/css/foundation-for-emails/foundation.min.css') }}
{% emailizr_inline_style %}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="width=device-width"/>
    {% block headStyles %}
        <style type="text/css">
            {% autoescape false %}
                {{ emailizr_inline_style(emailizr_style_collector) }}
            {% endautoescape %}
        </style>
    {% endblock %}
</head>
{% apply inky_to_html %}
    <body>
        {% block body %}
            <table class="body">
                <tr>
                    <td class="center" align="center" valign="top">
                        <center>
                            {% block content %}
                            {% endblock %}
                        </center>
                    </td>
                </tr>
            </table>
            <!-- prevent Gmail on iOS font size manipulation -->
            <div style="display:none; white-space:nowrap; font:15px courier; line-height:0;">                                                             </div>
        {% endblock %}
        </body>
{% endapply %}
</html>
{% end_emailizr_inline_style %}
{% endapply %}
Service
If you need to parse values in a custom context, you may use the ContentService.
<?php use EmailizrBundle\Service\ContentService; class YourClass { public function __construct(protected ContentService $contentService) { } public function parse($content) { $cssFile = PIMCORE_WEB_ROOT . '/static/css/email.css'; return $this->contentService->checkContent($content, $cssFile, FALSE, TRUE, TRUE); } }
Further Information
Upgrade Info
Before updating, please check our upgrade notes!
License
DACHCOM.DIGITAL AG, Löwenhofstrasse 15, 9424 Rheineck, Schweiz
dachcom.com, dcdi@dachcom.ch
Copyright © 2025 DACHCOM.DIGITAL. All rights reserved.
For licensing details please visit LICENSE.md